對(duì)于反射貧道也是很陌生的,所以趁現(xiàn)在有時(shí)間就把反射看了一下,記下筆記!??!
反射的定義:反射(Reflection)是.NET中的重要機(jī)制,通過放射,可以在運(yùn)行時(shí)獲得.NET中每一個(gè)類型(包括類、結(jié)構(gòu)、委托、接口和枚舉等)的成員,包括方法、屬性、事件,以及構(gòu)造函數(shù)等。還可以獲得每個(gè)成員的名稱、限定符和參數(shù)等。有了反射,即可對(duì)每一個(gè)類型了如指掌。如果獲得了構(gòu)造函數(shù)的信息,即可直接創(chuàng)建對(duì)象,即使這個(gè)對(duì)象的類型在編譯時(shí)還不知道。
1,導(dǎo)入using System.Reflection;
2,Assembly.Load("程序集")//Assembly.LoadFile("外部調(diào)用的動(dòng)態(tài)庫")加載程序集,返回類型是一個(gè)Assembly
3, foreach (Type type in assembly.GetTypes())
{
string t = type.Name;
}
得到程序集中所有類的名稱
4,Type type = assembly.GetType("程序集.類名");獲取當(dāng)前類的類型
5,Activator.CreateInstance(type); 創(chuàng)建此類型實(shí)例
6,MethodInfo mInfo = type.GetMethod("方法名");獲取當(dāng)前方法
7,mInfo.Invoke(null,方法參數(shù));
這些是反射的一些基本應(yīng)用,,,
![]() |
標(biāo)簽:揚(yáng)州 南京 南京 臺(tái)州 淄博 海南 嘉興 南昌
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《C#反射的一些應(yīng)用》,本文關(guān)鍵詞 反射,的,一些,應(yīng)用,反射,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。