RuntimeCompatibilityAttribute Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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) |