RuntimeCompatibilityAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, zda se mají zalamovat výjimky, které nejsou odvozeny z třídy Exception s objektem RuntimeWrappedException. Tato třída se nemůže dědit.
public ref class RuntimeCompatibilityAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
public sealed class RuntimeCompatibilityAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
[System.Serializable]
public sealed class RuntimeCompatibilityAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)>]
type RuntimeCompatibilityAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)>]
[<System.Serializable>]
type RuntimeCompatibilityAttribute = class
inherit Attribute
Public NotInheritable Class RuntimeCompatibilityAttribute
Inherits Attribute
- Dědičnost
- Atributy
Příklady
Následující příklad kódu ukazuje, jak použít RuntimeCompatibilityAttribute třídu na sestavení, které vyvolá String objekt jako výjimku v jazyce C++ a zachytí jej pomocí objektu RuntimeWrappedException .
using namespace System;
using namespace System::Runtime::CompilerServices;
[assembly:RuntimeCompatibilityAttribute(WrapNonExceptionThrows = true)];
void run()
{
try
{
throw gcnew String("This is a string");
}
catch(RuntimeWrappedException^ e)
{
Console::WriteLine("RuntimeWrappedException caught!");
}
}
int main()
{
run();
return 0;
}
Poznámky
Některé jazyky, například C++, umožňují vyvolat výjimky libovolného typu. Jiné jazyky, například Microsoft C# a Visual Basic, vyžadují, aby každá vyvolaná výjimka byla odvozena z třídy Exception. Aby se zachovala kompatibilita mezi jazyky, modul CLR (Common Language Runtime) zabalí objekty, které nejsou odvozeny z Exception objektu RuntimeWrappedException .
Pomocí třídy můžete RuntimeCompatibilityAttribute určit, zda výjimky mají být zabaleny uvnitř bloků catch a filtrů výjimek pro sestavení. Mnoho kompilátorů jazyka, včetně kompilátorů jazyka Microsoft C# a Visual Basic, tento atribut ve výchozím nastavení použije k určení chování obtékání.
Mějte na paměti, že modul runtime stále zabalí výjimky, i když použijete RuntimeCompatibilityAttribute třídu k určení, že je nechcete zabalit. V tomto případě jsou výjimky rozbalené pouze uvnitř bloků catch nebo filtrů výjimek.
Konstruktory
| Name | Description |
|---|---|
| RuntimeCompatibilityAttribute() |
Inicializuje novou instanci RuntimeCompatibilityAttribute třídy. |
Vlastnosti
| Name | Description |
|---|---|
| TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
| WrapNonExceptionThrows |
Získá nebo nastaví hodnotu, která určuje, zda se mají zalamovat výjimky, které nejsou odvozeny z Exception třídy s objektem RuntimeWrappedException . |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. (Zděděno od Attribute) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu. (Zděděno od Attribute) |
| Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní. (Zděděno od Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |