RuntimeCompatibilityAttribute Clase

Definición

Especifica si las excepciones que no derivan de la clase Exception se ajustan con un objeto RuntimeWrappedException.Specifies whether to wrap exceptions that do not derive from the Exception class with a RuntimeWrappedException object. Esta clase no puede heredarse.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
Herencia
RuntimeCompatibilityAttribute
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo RuntimeCompatibilityAttribute aplicar la clase a un ensamblado que String produce un objeto como una C++ excepción en y lo detecta mediante RuntimeWrappedException un objeto.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;
}

Comentarios

Algunos lenguajes, como C++, permiten producir excepciones de cualquier tipo.Some languages, such as C++, allow you to throw exceptions of any type. Otros lenguajes, como Microsoft C# y Visual Basic, requieren que cada excepción iniciada se derive de Exception la clase.Other languages, such as Microsoft C# and Visual Basic, require that every thrown exception be derived from the Exception class. Para mantener la compatibilidad entre los lenguajes, el Common Language Runtime (CLR) ajusta los objetos que no Exception se derivan de en un RuntimeWrappedException objeto.To maintain compatibility between languages, the common language runtime (CLR) wraps objects that do not derive from Exception in a RuntimeWrappedException object.

Puede usar la clase RuntimeCompatibilityAttribute para especificar si las excepciones deben aparecer dentro de los bloques Catch y los filtros de excepciones de un ensamblado.You can use the RuntimeCompatibilityAttribute class to specify whether exceptions should appear wrapped inside catch blocks and exception filters for an assembly. Muchos compiladores de lenguaje, incluidos los C# compiladores de Microsoft y Visual Basic, aplican este atributo de forma predeterminada para especificar el comportamiento de ajuste.Many language compilers, including the Microsoft C# and Visual Basic compilers, apply this attribute by default to specify the wrapping behavior.

Tenga en cuenta que el tiempo de ejecución sigue encapsulando excepciones incluso RuntimeCompatibilityAttribute si utiliza la clase para especificar que no quiere que se ajusten.Note that the runtime still wraps exceptions even if you use the RuntimeCompatibilityAttribute class to specify that you do not want them wrapped. En este caso, las excepciones solo se desencapsulan dentro de los bloques catch o de los filtros de excepciones.In this case, exceptions are unwrapped only inside catch blocks or exception filters.

Constructores

RuntimeCompatibilityAttribute()

Inicializa una nueva instancia de la clase RuntimeCompatibilityAttribute.Initializes a new instance of the RuntimeCompatibilityAttribute class.

Propiedades

TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Heredado de Attribute)
WrapNonExceptionThrows

Obtiene o establece un valor que indica si se deben ajustar las excepciones que no deriven de la clase Exception con un objeto RuntimeWrappedException.Gets or sets a value that indicates whether to wrap exceptions that do not derive from the Exception class with a RuntimeWrappedException object.

Métodos

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.Returns a value that indicates whether this instance is equal to a specified object.

(Heredado de Attribute)
GetHashCode()

Devuelve el código hash de esta instancia.Returns the hash code for this instance.

(Heredado de Attribute)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Heredado de Attribute)
Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Heredado de Attribute)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.Maps a set of names to a corresponding set of dispatch identifiers.

(Heredado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Heredado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.Provides access to properties and methods exposed by an object.

(Heredado de Attribute)

Se aplica a