RuntimeCompatibilityAttribute Klasse

Definition

Gibt an, ob Ausnahmen, die nicht von der Exception-Klasse abgeleitet sind, mit einem RuntimeWrappedException-Objekt umschlossen werden sollen. Diese Klasse kann nicht vererbt werden.

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
Vererbung
RuntimeCompatibilityAttribute
Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Klasse auf eine Assembly angewendet wird, die RuntimeCompatibilityAttribute ein String Objekt als Ausnahme in C++ auslöst und es mithilfe eines RuntimeWrappedException Objekts abfangen kann.

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;
}

Hinweise

Einige Sprachen, z. B. C++, ermöglichen es Ihnen, Ausnahmen von jedem Typ auszuwerfen. Andere Sprachen, z. B. Microsoft C# und Visual Basic, erfordern, dass jede ausgelöste Ausnahme von der Exception Klasse abgeleitet werden kann. Um die Kompatibilität zwischen Sprachen aufrechtzuerhalten, umschließt die CLR (Common Language Runtime) Objekte, die nicht von Exception einem RuntimeWrappedException Objekt abgeleitet werden.

Sie können die RuntimeCompatibilityAttribute Klasse verwenden, um anzugeben, ob Ausnahmen innerhalb von Fangblöcken und Ausnahmefiltern für eine Assembly eingeschlossen werden sollen. Viele Sprachcompiler, einschließlich der Microsoft C#- und Visual Basic Compiler, wenden dieses Attribut standardmäßig an, um das Umbruchverhalten anzugeben.

Beachten Sie, dass die Laufzeit weiterhin Ausnahmen umschließt, auch wenn Sie die RuntimeCompatibilityAttribute Klasse verwenden, um anzugeben, dass sie nicht umschlossen werden sollen. In diesem Fall werden Ausnahmen nur innerhalb von Fangblöcken oder Ausnahmefiltern aufgehoben.

Konstruktoren

RuntimeCompatibilityAttribute()

Initialisiert eine neue Instanz der RuntimeCompatibilityAttribute-Klasse.

Eigenschaften

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.

(Geerbt von Attribute)
WrapNonExceptionThrows

Ruft einen Wert ab, der angibt, ob Ausnahmen, die nicht von der Exception-Klasse abgeleitet sind, mit einem RuntimeWrappedException-Objekt umschlossen werden sollen, oder legt diesen fest.

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

(Geerbt von Attribute)

Gilt für