天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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 中的代碼約定設置,轉載需保留來源!

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

主站蜘蛛池模板: 午夜福利网国产A | 久草视频在线观看免费4 | 黄色免费网址在线观看 | 免费在线观看黄色网址 | 麻豆一二三四区乱码 | 含羞草国产亚洲精品岁国产精品 | 在线精品一卡乱码免费 | 一区三区在线专区在线 | 国产成人亚洲精品老王 | 婷婷综合久久狠狠色 | 内射白嫩少妇超碰 | 2017必看无码作品 | 亚洲免费精品视频 | 一个人日本的视频免费完整版 | 青青青青青青草 | 色婷婷狠狠97成为人免费 | 无限资源网免费看 | 99久久999久久久综合精品涩 | 亚洲一区二区影院 | 欧美激情社区 | 俄罗斯乌克兰战争原因 | 色狐直播免费观看 | 日韩人妻无码精品久久中文字幕 | 久久久久久九九 | 人妻互换免费中文字幕 | 国产精品久久久久影院免费 | 亚洲精品不卡视频 | 素人约啪第五季 | 国产在线播放不卡 | 国产成人免费全部网站 | 亚洲欧美日韩国产精品26u | 十8禁用B站在线看漫画 | 99热久这里都是精品小草 | 麻豆无人区乱码 | 5566av资源| 国产色婷亚洲99精品AV | 在线毛片片免费观看 | 青青久久精品 | 超碰在线视频人人AV | 99视频国产在线 | 少妇伦子伦精品无码 |