RuntimeCompatibilityAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- Attribute
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die RuntimeCompatibilityAttribute -Klasse auf eine Assembly angewendet wird, die ein String -Objekt als Ausnahme in C++ auslöst und mithilfe eines RuntimeWrappedException -Objekts abfängt.
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
In einigen Sprachen, z. B. C++, können Sie Ausnahmen eines beliebigen Typs auslösen. Andere Sprachen, z. B. Microsoft C# und Visual Basic, erfordern, dass jede ausgelöste Ausnahme von der Exception -Klasse abgeleitet wird. Um die Kompatibilität zwischen Sprachen zu gewährleisten, umschließt die Common Language Runtime (CLR) Objekte, die nicht von Exception abgeleitet werden, in einem RuntimeWrappedException -Objekt.
Sie können die RuntimeCompatibilityAttribute -Klasse verwenden, um anzugeben, ob Ausnahmen in Catch-Blöcken und Ausnahmefiltern für eine Assembly umschlossen angezeigt 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 ausnahmen auch dann umschließt, wenn Sie die RuntimeCompatibilityAttribute -Klasse verwenden, um anzugeben, dass sie nicht umschlossen werden sollen. In diesem Fall werden Ausnahmen nur innerhalb von Catch-Blöcken oder Ausnahmefiltern entpackt.
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) |