ContractOptionAttribute Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- Attributs
Remarques
Le tableau suivant présente les options actuellement prises en charge.
Category | Paramètre | Valeur/effet |
---|---|---|
contract | héritage | true pour activer l’héritage du contrat ; false pour la 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 la 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) |