Contract 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.
Contient des méthodes statiques pour représenter des contrats de programme tels que conditions préalables, post-conditions et invariants objet.
public ref class Contract abstract sealed
public static class Contract
type Contract = class
Public Class Contract
- Héritage
-
Contract
Remarques
Les classes de contrat de code vous permettent de spécifier des conditions préalables, des post-conditions et des invariants d’objets dans votre code. Les conditions préalables sont des exigences qui doivent être satisfaites à l'entrée d'une méthode ou d'une propriété. Les post-conditions décrivent les attentes à la sortie de la méthode ou de la propriété. Les invariants d’objet décrivent l’état attendu pour une classe qui n’a aucun problème de condition. Pour plus d’informations sur les conditions préalables, les postconditions et les invariants d’objets, consultez Contrats de code.
Pour obtenir des outils et des instructions détaillées sur l’utilisation des contrats de code, consultez Contrats de code sur la Place de marché Visual Studio.
Important
Vous devez utiliser une réécriture binaire pour insérer l’exécution des contrats. Sinon, les contrats tels que la Contract.Ensures méthode ne peuvent être testés que de manière statique et ne lèveront pas d’exceptions pendant l’exécution en cas de violation d’un contrat. Vous pouvez télécharger la réécriture binaire CCRewrite à partir de Contrats de code sur visual Studio Marketplace. CCRewrite est fourni avec un complément Visual Studio qui vous permet d’activer l’application du contrat d’exécution à partir de la page Propriétés du projet. La réécriture binaire et le complément Visual Studio ne sont pas fournis avec Visual Studio 2010 ou le SDK Windows.
Méthodes
Assert(Boolean) |
Vérifie une condition ; si la condition est |
Assert(Boolean, String) |
Vérifie une condition ; si la condition est |
Assume(Boolean) |
Fait en sorte que les outils d'analyse du code supposent que la condition spécifiée est |
Assume(Boolean, String) |
Fait en sorte que les outils d'analyse du code supposent qu'une condition est |
EndContractBlock() |
Marque la fin de la section de contrat quand les contrats d’une méthode contiennent uniquement des conditions préalables sous la forme |
Ensures(Boolean) |
Spécifie un contrat de post-condition pour la méthode englobante ou la propriété. |
Ensures(Boolean, String) |
Spécifie un contrat de post-condition pour une condition de sortie fournie et un message à afficher si la condition est |
EnsuresOnThrow<TException>(Boolean) |
Spécifie un contrat de post-condition pour la méthode englobante ou la propriété en fonction de l'exception et de la condition fournies. |
EnsuresOnThrow<TException>(Boolean, String) |
Spécifie un contrat de post-condition et un message à afficher si la condition est |
Exists(Int32, Int32, Predicate<Int32>) |
Détermine si un test spécifié a la valeur True pour un entier figurant dans une plage d'entiers. |
Exists<T>(IEnumerable<T>, Predicate<T>) |
Détermine si un élément dans une collection d'éléments existe dans une fonction. |
ForAll(Int32, Int32, Predicate<Int32>) |
Détermine si une condition particulière est valide pour tous les entiers d'une étendue spécifiée. |
ForAll<T>(IEnumerable<T>, Predicate<T>) |
Détermine si tous les éléments dans une collection existent dans une fonction. |
Invariant(Boolean) |
Spécifie un contrat indifférent pour la méthode englobante ou la propriété. |
Invariant(Boolean, String) |
Spécifie un contrat indifférent préalable pour la méthode englobante ou la propriété, et affiche un message si la condition pour le contrat échoue. |
OldValue<T>(T) |
Représente les valeurs telles qu'elles étaient au démarrage d'une méthode ou d'une propriété. |
Requires(Boolean) |
Spécifie un contrat de condition préalable pour la méthode englobante ou la propriété. |
Requires(Boolean, String) |
Spécifie un contrat de condition préalable pour la méthode englobante ou la propriété, et affiche un message si la condition pour le contrat échoue. |
Requires<TException>(Boolean) |
Spécifie un contrat de condition préalable pour la méthode englobante ou la propriété, et lève une exception si la condition pour le contrat échoue. |
Requires<TException>(Boolean, String) |
Spécifie un contrat de condition préalable pour la méthode englobante ou la propriété, et lève une exception avec le message fourni si la condition pour le contrat échoue. |
Result<T>() |
Représente la valeur de retour d'une méthode ou propriété. |
ValueAtReturn<T>(T) |
Représente la valeur finale (sortie) d'un paramètre |
Événements
ContractFailed |
Se produit quand un contrat échoue. |