RuntimeCompatibilityAttribute Klasse

Definition

Gibt an, ob Ausnahmen, die nicht von der Exception-Klasse abgeleitet sind, mit einem RuntimeWrappedException-Objekt umschlossen werden sollen.Specifies whether to wrap exceptions that do not derive from the Exception class with a RuntimeWrappedException object. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class RuntimeCompatibilityAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)]
[System.Serializable]
public sealed class RuntimeCompatibilityAttribute : Attribute
type RuntimeCompatibilityAttribute = class
    inherit Attribute
Public NotInheritable Class RuntimeCompatibilityAttribute
Inherits Attribute
Vererbung
RuntimeCompatibilityAttribute
Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die RuntimeCompatibilityAttribute -Klasse auf eine Assembly angewendet wird String , die ein-Objekt C++ als Ausnahme in auslöst und RuntimeWrappedException mithilfe eines-Objekts abfängt.The following code example demonstrates how to apply the RuntimeCompatibilityAttribute class to an assembly that throws a String object as an exception in C++ and catches it using a RuntimeWrappedException object.

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, wie C++z. b., können Sie Ausnahmen eines beliebigen Typs auslösen.Some languages, such as C++, allow you to throw exceptions of any type. Andere Sprachen, wie z. C# b. Microsoft und Visual Basic, erfordern, dass jede ausgelöste Exception Ausnahme von der-Klasse abgeleitet wird.Other languages, such as Microsoft C# and Visual Basic, require that every thrown exception be derived from the Exception class. Um die Kompatibilität zwischen den Sprachen zu gewährleisten, umschließt die Common Language Runtime (CLR) Objekte Exception , die RuntimeWrappedException nicht von abgeleitet sind, in einem-Objekt.To maintain compatibility between languages, the common language runtime (CLR) wraps objects that do not derive from Exception in a RuntimeWrappedException object.

Sie können die RuntimeCompatibilityAttribute -Klasse verwenden, um anzugeben, ob Ausnahmen in catch-Blöcken und Ausnahme Filter für eine Assembly umfänden angezeigt werden sollen.You can use the RuntimeCompatibilityAttribute class to specify whether exceptions should appear wrapped inside catch blocks and exception filters for an assembly. Viele sprach Compiler, einschließlich der Microsoft C# -und Visual Basic Compiler, wenden dieses Attribut standardmäßig an, um das Wrapping Verhalten anzugeben.Many language compilers, including the Microsoft C# and Visual Basic compilers, apply this attribute by default to specify the wrapping behavior.

Beachten Sie, dass die Laufzeit weiterhin Ausnahmen umschließt, auch RuntimeCompatibilityAttribute Wenn Sie die-Klasse verwenden, um anzugeben, dass Sie nicht umschlossen werden sollen.Note that the runtime still wraps exceptions even if you use the RuntimeCompatibilityAttribute class to specify that you do not want them wrapped. In diesem Fall werden Ausnahmen nur in catch-Blöcken oder Ausnahme Filtern entpackt.In this case, exceptions are unwrapped only inside catch blocks or exception filters.

Konstruktoren

RuntimeCompatibilityAttribute()

Initialisiert eine neue Instanz der RuntimeCompatibilityAttribute-Klasse.Initializes a new instance of the RuntimeCompatibilityAttribute class.

Eigenschaften

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(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.Gets or sets a value that indicates whether to wrap exceptions that do not derive from the Exception class with a RuntimeWrappedException object.

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(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.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(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.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(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.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 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.Provides access to properties and methods exposed by an object.

(Geerbt von Attribute)

Gilt für: