明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

什么是映射(reflection)?

[摘要]所有的.Net編譯器在產(chǎn)生模塊(Modules)的目標(biāo)代碼時(shí)都會(huì)產(chǎn)生有關(guān)類(lèi)型的元數(shù)據(jù)(metadata), 這種元數(shù)據(jù)被捆綁在模塊目標(biāo)代碼上(多個(gè)模塊組成assemblies, 一個(gè)assembly是.Net下安全控制的基本單位,也是類(lèi)型對(duì)象識(shí)別的基本單位), 這種元數(shù)據(jù)可以通過(guò).Net環(huán)境下的r...
所有的.Net編譯器在產(chǎn)生模塊(Modules)的目標(biāo)代碼時(shí)都會(huì)產(chǎn)生有關(guān)類(lèi)型的元數(shù)據(jù)(metadata), 這種元數(shù)據(jù)被捆綁在模塊目標(biāo)代碼上(多個(gè)模塊組成assemblies, 一個(gè)assembly是.Net下安全控制的基本單位,也是類(lèi)型對(duì)象識(shí)別的基本單位), 這種元數(shù)據(jù)可以通過(guò).Net環(huán)境下的reflection對(duì)象訪問(wèn). System.Reflection名字空間下包含了可以訪問(wèn)這種數(shù)據(jù)的多種類(lèi).

使用reflection訪問(wèn).Net元數(shù)據(jù)和使用ITypeLib/ITypeInfo訪問(wèn)COM對(duì)象的類(lèi)型庫(kù)數(shù)據(jù)非常類(lèi)似. 例如, 決定類(lèi)型數(shù)據(jù)的大小, 通過(guò)(程序上下文/進(jìn)程/機(jī)器)邊界列集數(shù)據(jù)傳遞.

所以, 可以使用Reflection對(duì)象動(dòng)態(tài)引用方法(可以查看System.Type.InvokeMember), 甚至還可以動(dòng)態(tài)地在運(yùn)行時(shí)產(chǎn)生類(lèi)型(System.Reflection.Emit.TypeBuilder)





標(biāo)簽:啥是映射(reflection)?