国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

映射 -- zt 統一教學網

2024-07-21 02:27:59
字體:
來源:轉載
供稿:網友

映射  

在許多情況下,我們需要一種方法,能夠從元數據中訪問屬性,c#提供了對映射的支持以訪問元數據。通過初始化memberinfo類型對象,system.reflection名字空間中的這個對象可以用來發現成員的屬性,對元數據進行訪問。  

system.reflection.memberinfoinf=typeof(mymath);  

對mymath類型調用typeof操作符,它返回一個由繼承memberinfo而生成的type類型的變量。  

下一步是對memberinfo對象調用getcustomattributes,并將希望得到的屬性的類型作為一個參數傳遞給getcustomattributes。我們將得到一個對象數組,數組的每個成員的類型都是bugfixattribute。  

object[]attributes;
attributes=attribute.getcustomattributes(inf,typeof(bugfixattribute));  

我們就可以遍歷這個數組了,打印bugfixattribute對象的數組,代碼下所示:  



屬性的打印  


publicstaticvoidmain()
{
mymathmm=newmymath();
console.writeline("callingdofunc(7).result:{0}",
mm.dofunc1(7));

//獲取成員信息并使用它訪問自定義的屬性
system.reflection.memberinfoinf=typeof(mymath);
object[]attributes;
attributes=
attribute.getcustomattributes(inf,typeof(bugfixattribute));

//遍歷所有的屬性
foreach(objectattributeinattributes)
{
bugfixattributebfa=(bugfixattribute)attribute;
console.writeline("/nbugid:{0}",bfa.bugid);
console.writeline("programmer:{0}",bfa.programmer);
console.writeline("date:{0}",bfa.date);
console.writeline("comment:{0}",bfa.comment);
}
}  



類型發現  


我們可以通過映象的方法來研究一個組合實體的內容,如果要建立需要顯示組合體內部信息的工具或動態地調用組合體中的途徑,這一方法是非常有用的。  

通過映象的方法,我們可以知道一個模塊、方法、域、屬性的類型,以及該類型的每個方法的信號、該類支持的界面和該類的超級類。我們可以通過如下的形式,用assembly.load靜態方法動態地加載一個組合體:  

publicstaticassembly.load(assemblyname)  

然后,可以將它傳遞到核心庫中。  

assemblya=assembly.load("mscorlib.dll");  

一旦加載了組合體,我們可以通過調用gettypes返回一個type對象數組。type對象是映射的核心,它表示類、界面、數組、值和枚舉等的類型定義。  

type[]types=a.gettypes();  

組合休會返回一個類型的數組,我們可以使用foreach-loop結構顯示該數組,其輸出將有好幾頁文檔之多,下面我們從中找一小段:  

typeissystem.typecode
typeissystem.security.util.stringexpressionset
typeissystem.text.utf7encoding$encoder
typeissystem.argiterator
typeissystem.runtime.remoting.jitlookuptable
1205typesfound  

我們得到了一個內容為核心庫中類型的數組,可以將它們都打印出來,該數組將有1205個項。  

對一種類型映射我們也可以對組合體中一種類型進行映射。為此,我們可以使用gettype方法從組合體中解析出一個類型:  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐津县| 芜湖县| 木兰县| 常熟市| 海淀区| 宣汉县| 万盛区| 娄烦县| 盐亭县| 大邑县| 奈曼旗| 龙岩市| 太康县| 南陵县| 西盟| 林口县| 三亚市| 宁明县| 永州市| 漳州市| 无极县| 嘉鱼县| 奈曼旗| 那曲县| 巴里| 连城县| 东兴市| 扎赉特旗| 尚志市| 定襄县| 盖州市| 科尔| 弥勒县| 海阳市| 临邑县| 石泉县| 东丰县| 乌审旗| 青龙| 城口县| 巴南区|