一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Visual Studio 2010 中的代碼約定設置

  軟件約定稱為代碼約定,通過這一約定可以表示代碼正常工作所需的正式條件。 如果方法未按預期收到數據或生成的數據不符合預期的后置條件,代碼約定將導致代碼引發異常。 有關前置條件和后置條件的概述,您可能需要查看我上個月發表的文章 (msdn.microsoft.com/magazine/gg983479)。

  代碼約定是 .NET Framework 4 的一部分,但同樣依賴于 Visual Studio 2010 中的一些功能,例如運行時工具、與 MSBuild 集成以及“項目屬性”框中的屬性頁。 值得注意的是,僅編寫前置條件和后置條件是不夠的。 您還需要為每個項目啟用運行時檢查功能才能使用軟件約定。 您可以通過 Visual Studio 2010 中的“代碼約定”項目屬性頁來完成上述操作。

  在本文中,我將討論您可以查看或選擇的各個選項的預定用途,并深入討論使用代碼約定中的參數驗證可以執行的最常見操作的重寫程序工具和實踐。

  代碼約定屬性頁

  應在所有版本中還是僅在調試版本中實施代碼約定前置條件和后置條件? 實際上,這取決于您對軟件約定概念的理解。 它是設計工作的一部分嗎? 或者,它僅是一種調試措施?

  如果它是設計功能,則沒理由剝離發行版中的約定。 如果它僅是一種調試技術,當在發布模式中進行編譯時,您不希望顯示它。

  在 .NET Framework 中,代碼約定僅是此框架的一部分并且未融入任何語言。 這樣將更容易在項目中按版本配置它們。 因此,通過軟件約定的 .NET Framework 實現,您可以決定實現約定的合適時間和地點。

  圖 1 顯示 Visual Studio 2010 中的屬性頁,通過此頁可以設置軟件約定為應用程序工作的方式。 請注意,此類設置基于項目應用,因此可以根據需要進行調整。

圖 1 Visual Studio 2010 中代碼約定的屬性頁

  您可以選擇選項配置(調試、發布等)并僅對該配置應用設置。 這樣,您可以啟用代碼約定用于調試但不用于發布,而且更重要的是,您可以隨時改變決策。

  運行時檢查

  若要啟用代碼約定,必須選中“執行運行時約定檢查”選項。 如果未選中此選項,則在源代碼中顯示的任何約定說明將可能不會產生任何效果(定義了 DEBUG 符號的任何版本中的 Contract.Assert 和 Contract.Assume 例外,但這不是很重要)。 復選框控制是否在每個編譯步驟結束時觸發重寫程序工具。 重寫程序是一個外部工具,用于對軟件約定進行后處理并修改 MSIL 代碼,以及在合適的位置執行前置條件、后置條件和固定條件檢查。

  但是,請注意,如果您具有類似下面這樣的前置條件,則在關閉重寫程序時會得到運行時斷言失敗:

Contract.Requires<TException>(condition)        
        

NET技術Visual Studio 2010 中的代碼約定設置,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 大杳焦伊人久久综合热 | 国产精品视频在这里有精品 | 香港aa三级久久三级 | 色噜噜国产在线91蝌蚪 | 五月婷婷激情综合 | 日韩美女在线视频 | 亚色在线| 欧美日韩亚洲人人夜夜澡 | 成人免费小视频 | 热99re久久精品香蕉 | 国产精品成人一区二区 | 国产资源网站 | 婷婷国产在线 | 成年黄网站 | 人人狠狠综合久久亚洲婷婷 | 国内不卡一二三四区 | 国产精品久久久久久久专区 | 91精品人成在线观看 | 久久性感视频 | 99久久99久久精品国产 | 天天色天天操天天 | 2021国产精品自拍 | 国产精品视频公开费视频 | 精品国产高清a毛片无毒不卡 | 国产三级网 | 任我鲁任我在线精品视频 | 久久国产欧美日韩精品免费 | 色婷婷伊人 | 欧美成人免费一区在线播放 | 精品久久精品久久 | 天天干天天射天天爽 | 亚洲综合图片小说区热久久 | 亚洲精品在线播放视频 | 国产精品亚洲小说专区 | 日韩片在线观看 | 久久九九综合 | 九九九免费视频 | 六月婷婷中文字幕 | 色老板视频 | 狠狠干狠狠干狠狠干 | 黄片毛片在线观看 |