2010-11-19 13 views
1

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); 
    } 
 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); 
    } 

しかし、私はそれを実行するときに何もしないようです。私は数ヶ月前から思い出したことから、aが0より小さいというエラーを投げるべきです。

安全のためにコード契約サイトから学術用バージョンを再インストールしましたが、これはまだ動作していないようです。コード契約を有効にするために必要な手順は何ですか?

編集:ResharperはContract.Requires(a >= 0);に対して、メソッドがスキップされていることを教えています。これは、「実装されていない条件付きメソッドまたは部分メソッド」です。

ありがとう

+0

Math.Sqrt(a * a)の代わりにMath.Sqrt(a)を書いてみたいと思いますか?もちろん、これはあなたの質問に役立ちません... – Philipp

+0

はい、その誤字。 –

答えて

2

あなたはこのWebページを確認する必要があり:あなたは、プロジェクトのプロパティに行くコード契約タブとランタイムのチェックボックスをクリックする必要がありlink text

を。

関連する問題