RuntimeCompatibilityAttribute Třída

Definice

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
RuntimeCompatibilityAttribute
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)

Platí pro