Contrat.Nécessite l'utilisation de

Voici mon problème. Je suis un très grand fan de la Conception par contrat, je suis en utilisant ce concept, particulièrement lors de l'élaboration de bibliothèques qui peuvent être utilisés par d'autres développeurs. Je viens de découvrir une nouvelle façon de faire ce qui est: Contract.Requires au lieu de Exception:
Alors au lieu d'avoir:

public void SomeMethod(string name){
   if(name==null) throw new NullArgumentException("Null values not supported");
} 

J'ai maintenant:

public void SomeMethod(string name){
   Contract.Requires(name != null);
}

MODIFIER: je travaille sous VS2010 sur le mode de débogage.

Problème: Contract.Requires ne pas faire n'importe quoi, même quand name est null!

La MSDN documentation dit:

Spécifie un contrat de condition préalable pour l'affichage de méthode ou de
de la propriété.

Mais rien n'est précisé dans le cas où la condition n'est pas remplie!

J'ai aussi remarqué il y a d'autres Contract.Requires surcharges que jeter l'exception, d'afficher de message... mais alors qu'est-ce que Contract.Requires(Boolean) pour?

MODIFIER Réponse ci-dessous mis en évidence qu'un plug-in doit être installé pour avoir toute la puissance de Contract API, mais alors qu'en Mono utilisateurs qui veulent leur code pour se comporter de la même manière sur les différentes plates-formes?

InformationsquelleAutor GETah | 2011-11-28