ContractOptionAttribute Classe

Définition

Vous permet de définir des options de contrat et d’outil au niveau de l’assembly, du type ou de la granularité 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 présente les options actuellement prises en charge.

Category Setting Valeur/effet
contrat Héritage true pour activer l’héritage du contrat ; false pour le désactiver. La valeur par défaut est true.
runtime Vérification 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 de l’assembly entier :

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

Pour activer la vérification du contrat au moment de l’exécution pour un type spécifique :

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

    ...

Pour désactiver la vérification du temps d’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

Nom Description
ContractOptionAttribute(String, String, Boolean)

Initialise une nouvelle instance de la ContractOptionAttribute classe à l’aide de la catégorie fournie, du paramètre et de la valeur enable/disable.

ContractOptionAttribute(String, String, String)

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

Propriétés

Nom Description
Category

Obtient la catégorie de l’option.

Enabled

Détermine si une option est activée.

Setting

Obtient le paramètre de l’option.

TypeId

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

(Hérité de Attribute)
Value

Obtient la valeur de l’option.

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 à