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 umbrochen werden sollen, die nicht von der Exception-Klasse mit einem RuntimeWrappedException -Objekt abgeleitet werden. 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 mit einem RuntimeWrappedException Objekt 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
In einigen Sprachen, z. B. C++, können Sie Ausnahmen eines beliebigen Typs auslösen. Andere Sprachen wie Microsoft C# und Visual Basic erfordern, dass jede ausgelöste Ausnahme von der klasse Exception abgeleitet wird. Um die Kompatibilität zwischen Sprachen aufrechtzuerhalten, umschließt die Common Language Runtime (CLR) Objekte, die nicht von Exception einem RuntimeWrappedException Objekt abgeleitet werden.
Mit der RuntimeCompatibilityAttribute Klasse können Sie angeben, ob Ausnahmen in Catch-Blö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 Catch-Blöcken oder Ausnahmefiltern entwappt.
Konstruktoren
| Name | Beschreibung |
|---|---|
| RuntimeCompatibilityAttribute() |
Initialisiert eine neue Instanz der RuntimeCompatibilityAttribute-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| TypeId |
Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute. (Geerbt von Attribute) |
| WrapNonExceptionThrows |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Ausnahmen umbrochen werden sollen, die nicht von der Exception Klasse mit einem RuntimeWrappedException Objekt abgeleitet werden. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Geerbt von Attribute) |
| GetHashCode() |
Gibt den Hashcode für diesen instance zurück. (Geerbt von Attribute) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| IsDefaultAttribute() |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, gibt an, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Geerbt von Attribute) |
| Match(Object) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Geerbt von Attribute) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| _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 denen 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) |
Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden. (Geerbt von Attribute) |