亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > Nunit
從NUnit中理解.NET自定義屬性的應用
作者:網絡轉載 發布時間:[ 2013/3/28 13:26:34 ] 推薦標簽:

摘要:

  .net的自定義屬性可以實現程序集元數據擴展,并能為框架設計和實現提供新的思路和解決辦法。NUnit即是一個很好的例子。

1.屬性概述

  .NET的元數據體系是.NET Framework的亮點之一。利用元數據可以對程序集、模塊、類型、方法、成員等進行某種特性描述,而這些描述將作為元數據被編譯到程序集中,并通過.NET運行環境為其調用者所使用。這也即元數據擴展。

  屬性(Attribute)的定義和使用是元數據擴展的主要內容。這包括對.NET標準屬性的使用和自定義屬性。

  注:“屬性”是漢化MSDN對本文所討論的概念—Attribute的翻譯,我也習慣這么說。這好像很容易和OO中的“屬性”混淆。有些同類討論中,將此翻譯為“標簽”、“標記”,請注意區分。

  也許開發者對屬性還感覺比較陌生,對其如何發揮作用也沒有什么感性認識。但其實在日常的開發中,.NET開發者來已經在大量使用.NET的標準屬性。如:

  當要引用某個傳統動態連接庫中的函數時,我們常用到DllImportAttribute標準屬性來注釋某個函數的原型:

[DllImport(“user32.dll”)]

public static extern intMessageBoxA(intp,stringm,stringh,intt);

//…

  又比如,在編寫Web Service時會使用到WebServiceAttribute和WebMethodAttribute屬性。[WebService]和[WebMethod]會在生成WSDL時發揮作用,為我們生成相應的Web Service描述,下面的代碼片段開發者是多么的熟悉:

[WebMethod]

public stringHelloWorld()

//…

  這些屬性直接對程序集中的類型或類型成員進行注釋,并且這樣的注釋可以影響相應程序集的編譯、邏輯、運行等。.NET Framework帶有很多標準的屬性,并在MSDN中有詳細的文檔。

2.自定義屬性

  屬性也可以自定義,即自行開發屬性,對屬性進行某種格式的定義,并利用屬性來影響開發者自己開發的程序集。這也是.NET元數據擴展直接的應用了。自定義的屬性在編譯時作為元數據被編譯到程序集中,在運行時可以利用反射機制(Reflection)被讀取。

  .NET中的屬性是以一個類的形式來定義的。幾乎所有的屬性都繼承自System.Attribute,開發者自定義屬性也需首先繼承自該抽象類。

圖1:System.Attribute是所有屬性的基類

  自定義屬性可以用于對程序集中的元素進行標記和描述,并被編譯到.NET程序集中,成為其元數據的一部分。而從屬性和屬性值的讀取是對.NET程序集元數據的讀取,這會用到反射機制。具體如何編寫自定義屬性和如何讀取屬性的例子在MSDN中有很多,不再冗述了。

上一頁123下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 国产精品久久国产精麻豆99网站 | 日本福利片在线观看 | 国产农村精品一级毛片视频 | 九九九热精品 | 美女一级毛片无遮挡内谢 | 伊人中文网 | 成人福利软件 | 无码免费一区二区三区免费播放 | 亚洲成a人片| 窝窝影院午夜看片 | 成人五月网 | 久视频在线观看久视频 | 亚洲精品日本高清中文字幕 | 特级黄a三级三级三级 | 欧美日韩ay在线观看 | 天天干干 | 国产精品久久久久国产精品三级 | 天天干天天操天天做 | 7m视频在线观看高清国产7m | 狠狠色噜噜狠狠狠狠2018 | 在线观看欧洲成人免费视频 | 日本一区二区三区视频在线 | 曰批免费视频播放免费观看网站 | 亚洲精品国自产拍影院 | 午夜影院在线观看 | 日日夜夜狠狠干 | 伦理片免费观看 | 在线看的网站 | 亚洲欧美综合一区二区三区四区 | 欧美亚洲国产片在线观看 | 欧美日韩亚洲综合 | 日日夜夜国产 | 久草视频资源站 | 最近新韩国日本免费看 | 国产精品久久久久久网站 | a一级爱做片免费观看欧美 a一级爱做片免费 | 国产精品丝袜 | 欧美又粗又硬又大久久久 | 日韩欧美高清在线观看 | 麻豆日韩国产精品欧美在线 | 欧美三级欧美成人高清www |