RuntimeCompatibilityAttribute RuntimeCompatibilityAttribute RuntimeCompatibilityAttribute RuntimeCompatibilityAttribute Class

Definizione

Specifica se incapsulare le eccezioni che non derivano dalla classe Exception con un oggetto RuntimeWrappedException.Specifies whether to wrap exceptions that do not derive from the Exception class with a RuntimeWrappedException object. Questa classe non può essere ereditata.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
Ereditarietà
RuntimeCompatibilityAttributeRuntimeCompatibilityAttributeRuntimeCompatibilityAttributeRuntimeCompatibilityAttribute
Attributi

Esempi

Esempio di codice seguente viene illustrato come applicare la RuntimeCompatibilityAttribute classe a un assembly che genera una String oggetto come un'eccezione in C++ e intercetta utilizzando un RuntimeWrappedException oggetto.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;
}

Commenti

Alcuni linguaggi, ad esempio C++, consentono di generare eccezioni di qualsiasi tipo.Some languages, such as C++, allow you to throw exceptions of any type. Altri linguaggi, ad esempio Microsoft c# e Visual Basic, è necessario che ogni eccezione generata sia derivata dal Exception classe.Other languages, such as Microsoft C# and Visual Basic, require that every thrown exception be derived from the Exception class. Per mantenere la compatibilità tra i linguaggi, common language runtime (CLR) esegue il wrapping di oggetti che non derivano da Exception in un RuntimeWrappedException oggetto.To maintain compatibility between languages, the common language runtime (CLR) wraps objects that do not derive from Exception in a RuntimeWrappedException object.

È possibile usare il RuntimeCompatibilityAttribute classe per specificare se le eccezioni devono apparire incapsulate in blocchi catch e i filtri eccezioni per un assembly.You can use the RuntimeCompatibilityAttribute class to specify whether exceptions should appear wrapped inside catch blocks and exception filters for an assembly. Molti compilatori di linguaggio, inclusi i compilatori Microsoft c# e Visual Basic, applicano questo attributo per impostazione predefinita per specificare il comportamento di ritorno a capo.Many language compilers, including the Microsoft C# and Visual Basic compilers, apply this attribute by default to specify the wrapping behavior.

Si noti che il runtime esegue l'incapsulamento delle eccezioni anche se si usa il RuntimeCompatibilityAttribute classe per specificare che devono essere incapsulate.Note that the runtime still wraps exceptions even if you use the RuntimeCompatibilityAttribute class to specify that you do not want them wrapped. In questo caso, le eccezioni vengono annullato il wrapping solo all'interno di blocchi catch o i filtri eccezioni.In this case, exceptions are unwrapped only inside catch blocks or exception filters.

Costruttori

RuntimeCompatibilityAttribute() RuntimeCompatibilityAttribute() RuntimeCompatibilityAttribute() RuntimeCompatibilityAttribute()

Inizializza una nuova istanza della classe RuntimeCompatibilityAttribute.Initializes a new instance of the RuntimeCompatibilityAttribute class.

Proprietà

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
WrapNonExceptionThrows WrapNonExceptionThrows WrapNonExceptionThrows WrapNonExceptionThrows

Ottiene o imposta un valore che indica se incapsulare le eccezioni che non derivano dalla classe Exception con un oggetto RuntimeWrappedException.Gets or sets a value that indicates whether to wrap exceptions that do not derive from the Exception class with a RuntimeWrappedException object.

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Si applica a