RuntimeCompatibilityAttribute Classe

Définition

Spécifie s'il faut encapsuler les exceptions qui ne dérivent pas de la classe Exception avec un objet RuntimeWrappedException. Cette classe ne peut pas être héritée.

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
Héritage
RuntimeCompatibilityAttribute
Attributs

Exemples

L’exemple de code suivant montre comment appliquer la RuntimeCompatibilityAttribute classe à un assembly qui lève un String objet comme exception en C++ et l’intercepte à l’aide d’un RuntimeWrappedException objet.

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;
}

Remarques

Certaines langues, telles que C++, vous permettent de lever des exceptions de n’importe quel type. D’autres langages, tels que Microsoft C# et Visual Basic, nécessitent que chaque exception levée soit dérivée de la Exception classe. Pour maintenir la compatibilité entre les langages, le CLR (Common Language Runtime) encapsule les objets qui ne dérivent pas d’un Exception RuntimeWrappedException objet.

Vous pouvez utiliser la RuntimeCompatibilityAttribute classe pour spécifier si les exceptions doivent apparaître encapsulées dans les blocs catch et les filtres d’exceptions pour un assembly. De nombreux compilateurs de langage, y compris microsoft C# et Visual Basic compilateurs, appliquent cet attribut par défaut pour spécifier le comportement de création de package encapsulation.

Notez que le runtime encapsule toujours les exceptions même si vous utilisez la RuntimeCompatibilityAttribute classe pour spécifier que vous ne souhaitez pas qu’elles soient encapsulées. Dans ce cas, les exceptions ne sont ignorées qu’à l’intérieur des blocs catch ou des filtres d’exception.

Constructeurs

RuntimeCompatibilityAttribute()

Initialise une nouvelle instance de la classe RuntimeCompatibilityAttribute.

Propriétés

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)
WrapNonExceptionThrows

Obtient ou définit une valeur qui indique s'il faut encapsuler les exceptions qui ne dérivent pas de la classe Exception avec un objet RuntimeWrappedException.

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à