私はCode Contractsを使い始めていますが、Contract.Requiresはかなり簡単ですが、私はEnsuresが実際に何をしているのか分かりません。Contract.Ensuresはどのように機能しますか?
私はこのような単純な方法で作成しようとしました:私は「間違った」のメッセージを見ることはない、またそれは例外または何かを投げるん
static void Main()
{
DoSomething();
}
private static void DoSomething()
{
Contract.Ensures(false, "wrong");
Console.WriteLine("Something");
}
を。
これは実際に何をしていますか?
コンソールに何かを書き込んだ後で、未処理の例外 'ContractException'が発生しました。「事後条件が失敗しました:間違っています」。それは良い作品のように見えます。 –
静的証明者は、コード契約の背後にある実際の価値ですが、この特定の条件は分析的には非常に奇妙です。これは、「この陳述が間違っている」という真実を証明するように人に頼むこととほぼ同じです。 –
偽の部分は、単にそれが引き起こされたことを確認することに過ぎませんでした:-) – Steffen