我有這個簡單的代碼:代碼契約警告不顯示
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);
}
有什麼想法嗎?
編輯:我的代碼合同設置畫面
愚蠢的問題,但你實際運行驗證器? (你的設置是什麼等?) –
@JonSkeet - 當然,我實際上標記了所有內容:)我正在進行運行時驗證。有什麼特別的我應該在環境中注意? –
添加設置頁面圖片 –