静的チェッカーがこのメソッドですべて問題ないと言う理由がわかりません:
public static int GetNonNegativeValue()
{
Contract.Ensures(Contract.Result<int>() >= 0);
return -1;
}
静的チェックがオンになっています。
アップデート:
これも大丈夫です。
var i = Doer.GetNonNegativeValue();
Contract.Assert(i < 0);