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 Exception třídy s objektem RuntimeWrappedException . Tuto třídu nelze 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á objekt jako výjimku v jazyce C++ a zachytí String ho 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á vyvoláná výjimka byla odvozena z Exception třídy. Pokud chcete zachovat kompatibilitu mezi jazyky, modul clR (Common Language Runtime) zabalí objekty, které nejsou odvozeny z Exception objektu RuntimeWrappedException .
Třídu můžete použít RuntimeCompatibilityAttribute k určení, zda se výjimky mají objevit zabalené uvnitř bloků catch a filtrů výjimek pro sestavení. Mnoho kompilátorů jazyka, včetně kompilátorů Microsoft C# a Visual Basic, použije tento atribut ve výchozím nastavení 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 nezabalené pouze uvnitř bloků catch nebo filtrů výjimek.
Konstruktory
RuntimeCompatibilityAttribute() |
Inicializuje novou instanci RuntimeCompatibilityAttribute třídy. |
Vlastnosti
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á označuje, zda se mají zalamovat výjimky, které nejsou odvozeny z Exception třídy s objektem RuntimeWrappedException . |
Metody
Equals(Object) |
Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. (Zděděno od Attribute) |
GetType() |
Type Získá aktuální instanci. (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 odvozené třídy. (Zděděno od Attribute) |
Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru 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í
_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 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) |