新聞中心
利用C#反射來(lái)查看自定義特性信息與查看其他信息類似,首先基于類型(本例中是DemoClass)獲取一個(gè)Type對(duì)象,然后調(diào)用Type對(duì)象的GetCustomAttributes()方法,獲取應(yīng)用于該類型上的特性。當(dāng)指定GetCustomAttributes(Type attributeType, bool inherit) 中的***個(gè)參數(shù)attributeType時(shí),將只返回指定類型的特性,否則將返回全部特性;第二個(gè)參數(shù)指定是否搜索該成員的繼承鏈以查找這些屬性。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供雙牌網(wǎng)站建設(shè)、雙牌做網(wǎng)站、雙牌網(wǎng)站設(shè)計(jì)、雙牌網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、雙牌企業(yè)網(wǎng)站模板建站服務(wù),10多年雙牌做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
C#反射:代碼
- class Program {
- static void Main(string[] args) {
- Type t = typeof(DemoClass);
- Console.WriteLine("下面列出應(yīng)用于 {0} 的RecordAttribute屬性:" , t);
- // 獲取所有的RecordAttributes特性
- object[] records = t.GetCustomAttributes(typeof(RecordAttribute), false);
- foreach (RecordAttribute record in records) {
- Console.WriteLine(" {0}", record);
- Console.WriteLine(" 類型:{0}", record.RecordType);
- Console.WriteLine(" 作者:{0}", record.Author);
- Console.WriteLine(" 日期:{0}", record.Date.ToShortDateString());
- if(!String.IsNullOrEmpty(record.Memo)){
- Console.WriteLine(" 備注:{0}",record.Memo);
- }
- }
- }
- }
輸出為:
下面列出應(yīng)用于 AttributeDemo.DemoClass 的RecordAttribute屬性:
AttributeDemo.RecordAttribute
類型:更新
作者:Matthew
日期:2008-1-20
備注:修改 ToString()方法
AttributeDemo.RecordAttribute
類型:更新
作者:Jimmy
日期:2008-1-18
AttributeDemo.RecordAttribute
類型:創(chuàng)建
作者:張子陽(yáng)
日期:2008-1-15
好了,到了這一步,我想將這些數(shù)據(jù)錄入數(shù)據(jù)庫(kù)中將不再是個(gè)問題,我們關(guān)于C#反射查看自定義特性的章節(jié)也就到此為止了。
【編輯推薦】
- C#基礎(chǔ)知識(shí)一覽
- 學(xué)習(xí)C#自定義用戶控件
- C#自定義組件和用戶組件屬性的設(shè)置
- C#編程中的組件-事件-委托
- Visual C#自定義組件的設(shè)計(jì):Pop3Com組件
當(dāng)前題目:通過C#反射特性查看自定義特性
網(wǎng)頁(yè)路徑:http://www.dlmjj.cn/article/cdgcoch.html


咨詢
建站咨詢
