RuntimeCompatibilityAttribute Classe

Définition

Spécifie s’il faut encapsuler des 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 en tant qu’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

Certains langages, tels 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 classe Exception. Pour maintenir la compatibilité entre les langages, le Common Language Runtime (CLR) encapsule les objets qui ne dérivent pas d’un ExceptionRuntimeWrappedException objet.

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

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 sont décompressées uniquement à l’intérieur des blocs catch ou des filtres d’exception.

Constructeurs

Nom Description
RuntimeCompatibilityAttribute()

Initialise une nouvelle instance de la classe RuntimeCompatibilityAttribute.

Propriétés

Nom Description
TypeId

En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute.

(Hérité de Attribute)
WrapNonExceptionThrows

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

Méthodes

Nom Description
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 pour cette instance.

(Hérité de Attribute)
GetType()

Obtient la 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 de la classe dérivée.

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

En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

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

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
_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 d’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 méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à