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);
に対して、メソッドがスキップされていることを教えています。これは、「実装されていない条件付きメソッドまたは部分メソッド」です。
ありがとう
Math.Sqrt(a * a)の代わりにMath.Sqrt(a)を書いてみたいと思いますか?もちろん、これはあなたの質問に役立ちません... – Philipp
はい、その誤字。 –