code-contracts

    5熱度

    1回答

    恕我直言,因爲具有參數的公共方法可以被任何其他程序員調用,它有責任驗證參數值並拋出有意義的ArgumentException,如果它們中的任何一個都是無效的。 話雖這麼說,我爲什麼會喜歡這樣的: public void Toto(string parameter) { Contract.Requires(parameter != null); //... } ...在這

    0熱度

    2回答

    請看下面的接口: interface IToto { string Name {get;} } 使用代碼契約,我怎麼能確保Name屬性值永遠不會改變? 我試圖在ContractInvariantMethod標記方法中使用Contract.OldValue,但顯然不支持。還有什麼我可以做的?

    0熱度

    1回答

    我終於有了ccrewrite工作,並且我的單元測試正在通過,但是當我發佈一個web項目時,它不斷被炸燬,好像它沒有被重寫。與JustDecompile檢查後,代碼還沒有被改寫: Contract.Requires<ArgumentNullException>(log != null, "Must provide a valid ILog to UmbracoServiceProvider");

    0熱度

    1回答

    我正在玩代碼合同,這個想法看起來非常好。但是,我怎樣才能啓用/禁用檢查整個解決方案的不同方面?

    3熱度

    1回答

    在我們的項目中,我們定義了兩個三種構建配置,Release,Debug和'Debug-plus-contracts'。這些被定義爲如下: <PropertyGroup Condition="'$(Configuration)' == 'Release'"> <Optimize>true</Optimize> <DebugType>pdbonly</DebugType> </P

    0熱度

    1回答

    有沒有辦法通過Code Contracts Editor Extension UI來調整分析超時?如果沒有,是否有其他方法可以在Visual Studio中調整此設置?我在.csproj文件中看不到任何對cccheck的調用,所以我不清楚它是如何集成到構建過程中的。

    32熱度

    2回答

    何時應該通過代碼合同進行debug.assert,反之亦然?我想檢查一種方法的先決條件,我很困惑要選擇一種方法。我有單元測試,我想測試失敗的場景並期望例外。 在同一個方法上使用Debug.Assert和Code合同是一個好習慣。如果是的話,代碼的編寫順序是什麼? Debug.Assert(parameter!= null); Contract.Requires<ArgumentNullExcep

    0熱度

    1回答

    對於Command對象Command,我有一個私有執行方法ClickExecute。我綁定了一個類型爲TypeA的參數對象。它有一個財產IsValid,我想檢查在代碼合同如下所示。 ClickCommand = new DelegatingCommand(ClickExecute); private void ClickExecute(object parameter) {

    6熱度

    1回答

    我試圖使用ContractClass和ContractClassFor來定義接口的代碼合同。當一切都在同一個程序集中時,它工作的很好,但是如果我將接口定義及其各自的契約類放入不同的程序集中,那麼具體的類實現將不再適用。 例如,此代碼的工作: namespace DummyProject { [ContractClass(typeof(AccountContracts))] p

    1熱度

    2回答

    我是codecontracts的新手,我喜歡它,因爲它看起來很乾淨。 我不喜歡這樣一個事實,即我需要下載一個庫來使它工作。但是沒有理解爲什麼微軟沒有將它作爲整個框架的一部分。 我不想強迫其他同事下載它。 問題: 我可以下載擴展和動態鏈接庫添加到構建這樣,如果他們得到它的最新的或或工作,他們什麼都沒有做? 在使用Codecontracts內部部署應用程序之前有什麼需要了解的嗎? 感謝