RuntimeCompatibilityAttribute Klas

Definitie

Hiermee geeft u op of uitzonderingen moeten worden verpakt die niet zijn afgeleid van de Exception klasse met een RuntimeWrappedException object. Deze klasse kan niet worden overgenomen.

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
Overname
RuntimeCompatibilityAttribute
Kenmerken

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de RuntimeCompatibilityAttribute klasse toepast op een assembly die een String object als een uitzondering genereert in C++ en het object onderschept met behulp van een 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;
}

Opmerkingen

In sommige talen, zoals C++, kunt u uitzonderingen van elk type genereren. Voor andere talen, zoals Microsoft C# en Visual Basic, moet elke gegenereerde uitzondering worden afgeleid van de klasse Exception. Om de compatibiliteit tussen talen te behouden, verpakt de Common Language Runtime (CLR) objecten die niet zijn afgeleid van Exception een RuntimeWrappedException object.

U kunt de RuntimeCompatibilityAttribute klasse gebruiken om op te geven of uitzonderingen moeten worden verpakt in catch-blokken en uitzonderingsfilters voor een assembly. Veel taalcompilers, waaronder de Microsoft C# en Visual Basic compilers, passen dit kenmerk standaard toe om het wrapping-gedrag op te geven.

Houd er rekening mee dat de runtime nog steeds uitzonderingen verpakt, zelfs als u de RuntimeCompatibilityAttribute klasse gebruikt om op te geven dat u ze niet wilt verpakken. In dit geval worden uitzonderingen alleen in catchblokken of uitzonderingsfilters uitgepakt.

Constructors

Name Description
RuntimeCompatibilityAttribute()

Initialiseert een nieuw exemplaar van de RuntimeCompatibilityAttribute klasse.

Eigenschappen

Name Description
TypeId

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id.

(Overgenomen van Attribute)
WrapNonExceptionThrows

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of uitzonderingen moeten worden verpakt die niet zijn afgeleid van de Exception klasse met een RuntimeWrappedException object.

Methoden

Name Description
Equals(Object)

Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
GetHashCode()

Retourneert de hash-code voor dit exemplaar.

(Overgenomen van Attribute)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
IsDefaultAttribute()

Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse.

(Overgenomen van Attribute)
Match(Object)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

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

Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's.

(Overgenomen van Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen.

(Overgenomen van Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1).

(Overgenomen van Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven.

(Overgenomen van Attribute)

Van toepassing op