ContractOptionAttribute Classe

Définition

Permet de définir un contrat et des options d'outil pour la granularité d'assembly, de type ou de méthode.

public ref class ContractOptionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true, Inherited=false)]
[System.Diagnostics.Conditional("CONTRACTS_FULL")]
public sealed class ContractOptionAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true, Inherited=false)>]
[<System.Diagnostics.Conditional("CONTRACTS_FULL")>]
type ContractOptionAttribute = class
    inherit Attribute
Public NotInheritable Class ContractOptionAttribute
Inherits Attribute
Héritage
ContractOptionAttribute
Attributs

Remarques

Le tableau suivant montre les options actuellement prises en charge.

Category Paramètre Valeur/effet
contract héritage true pour activer l’héritage du contrat ; false pour le désactiver. La valeur par défaut est true.
runtime vérifier true pour activer la vérification au moment de l’exécution ; false pour le désactiver. La valeur par défaut est true.

Vous pouvez utiliser cet attribut comme illustré dans les exemples suivants.

Pour désactiver la vérification au moment de l’exécution pour l’ensemble de l’assembly :

[assembly:ContractOption("runtime", "checking", false)]  

Pour activer la vérification des contrats d’exécution pour un type spécifique :

[ContractOption("runtime", "checking", true)]  
class TypeWithRuntimeChecking {  

    ...  

Pour désactiver la vérification au moment de l’exécution pour une méthode spécifique :

// Turn off all contract inheritance from interface IList<T>  
[ContractOption("contract", "inheritance", false)]  
class MyConcurrentList<T> : IList<T> {  
   ...  
}  

[ContractOption("runtime", "checking", false)]  
public override MyMethod(int x) {  
   // no inherited contracts checked at runtime,  
   // no invariants checked at runtime.  
   ...  
}  

       [ContractOption("runtime", "checking", false)]  
       public void MethodWithoutRuntimeChecking(...) {  
          ...  
       }  
   }  

Constructeurs

ContractOptionAttribute(String, String, Boolean)

Initialise une nouvelle instance de la classe ContractOptionAttribute à l'aide de la catégorie, du paramètre et de la valeur activer/désactiver fournis.

ContractOptionAttribute(String, String, String)

Initialise une nouvelle instance de la classe ContractOptionAttribute à l'aide de la catégorie, du paramètre et de la valeur fournis.

Propriétés

Category

Obtient la catégorie de l'option.

Enabled

Détermine si une option est activée.

Setting

Obtient le paramètre pour l'option.

TypeId

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

(Hérité de Attribute)
Value

Obtient la valeur pour l'option.

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 à