四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

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

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

主站蜘蛛池模板: 佐藤蓝子| 吴婷个人资料及照片| 不潮不花钱歌词| 樱井步| 日本尻逼| 周记作文| 红岩下的追捕电视剧| 音乐僵尸演员表| 比基尼裸体| 叶子楣代表咋| 林智妍《邂逅》未删减| 鬼龙院花子的一生| 丁尼| 加藤视频下载| 婆媳的战国时代 电视剧| 小敏家| 日本电影家庭教师| 欧美gv网站| 俺去也电影网| 重启之极海听雷2免费版在线播放| 宋学士濂文言文翻译| 包公大战潘金莲| 丰满妇女做a级毛片免费观看| 王晓男演员个人资料 | 张美仁爱| 日本电影家庭教师| 寄宿生韩剧全集观看| 电影《斯大林格勒》| 抓特务| 电影终极之战 电影| 老爸的筒子楼 电视剧| 中国未来会黑人化吗| 兰陵王电影| 比基尼诱惑| 南贤俊| 学前教育科研方法的论文| 林熙蕾三级未删减| 电影周处除三害| 村暖花开| 公司辞退员工的合法流程及赔偿| 女神异闻录5动画|