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í zabalit výjimky, které nejsou odvozeny z Exception třídy 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á objekt jako výjimku v jazyce C++ a zachytí String 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 Exception z třídy . Aby byla zachována kompatibilita mezi jazyky, modul CLR (Common Language Runtime) zalamuje objekty, které nejsou odvozeny od Exception objektu RuntimeWrappedException .
Pomocí třídy můžete RuntimeCompatibilityAttribute určit, zda se mají výjimky zobrazovat uvnitř bloků catch a filtrů výjimek pro sestavení. Mnoho kompilátorů jazyků, včetně kompilátorů Jazyka Microsoft C# a Visual Basic, používá tento atribut ve výchozím nastavení k určení chování obtékání.
Všimněte si, že modul runtime stále zabaluje 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 tuto Attributetřídu . (Zděděno od Attribute) |
WrapNonExceptionThrows |
Získá nebo nastaví hodnotu, která označuje, zda se mají zabalit 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á z aktuální instance. (Zděděno od Object) |
IsDefaultAttribute() |
Při přepsání v odvozené třídě označuje, zda je hodnota této instance 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á označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (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 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) |