2010-11-19 11 views
1

Also ich habe versucht, einigen einfachen Code mit Code Verträgen zu laufen (die ich seit einiger Zeit nicht benutzt habe)Einrichten-Code Contracts in Visual Studio 2010

static void Main(string[] args) 
    { 
     double res = sqrt(-5); 
    } 

    static double sqrt(int a) 
    { 
     Contract.Requires(a >= 0, "a must be >= 0!"); 

     return Math.Sqrt(a); 
    } 

Aber es scheint nicht, etwas zu tun überhaupt wenn ich es betreibe. Von dem, was ich von vor einigen Monaten erinnere, sollte es einen Fehler über a sein, der kleiner als 0 ist.

Ich installierte die akademische Version von der Code Contracts Seite neu, nur um sicher zu sein, und dieses scheint noch nicht zu arbeiten . Was sind die Schritte, um Code Contracts zum Laufen zu bringen?

EDIT: Resharper sagt mir auf Contract.Requires(a >= 0);, dass die Methode übersprungen wird, da es entweder "bedingte oder eine partielle Methode ohne Implementierung" ist.

Dank

+0

Ich denke, Sie möchten Math.Sqrt (a) anstelle von Math.Sqrt (a * a) schreiben? Natürlich hilft das bei Ihrer Frage nicht ... – Philipp

+0

Ja, es ist ein Tippfehler. –

Antwort

2

Sie diese Webseite überprüfen sollten: link text

Sie sollten zu den Projekteigenschaften gehen, Verträge Registerkarte Code und klicken Sie auf die Runtime Kontrollkästchen.