私はこの単純なコードを持っています:
public ArrayStack(int capacity)
{
Contract.Requires(capacity >= 0);
Contract.Ensures(_items != null);
Contract.Ensures(_items.Length == capacity);
_items = new T[capacity];
_top = -1;
}
followigを入力すると、コンパイル時の警告が表示されると予想しましたが、コントラクトから実行時例外が発生するだけです。
static void Main(string[] args)
{
int i = -1;
ArrayStack<string> stack = new ArrayStack<string>(i);
}
何か案は?
編集:私のコード契約設定の写真