對于反射貧道也是很陌生的,所以趁現(xiàn)在有時間就把反射看了一下,記下筆記!!!
反射的定義:反射(Reflection)是.NET中的重要機(jī)制,通過放射,可以在運(yùn)行時獲得.NET中每一個類型(包括類、結(jié)構(gòu)、委托、接口和枚舉等)的成員,包括方法、屬性、事件,以及構(gòu)造函數(shù)等。還可以獲得每個成員的名稱、限定符和參數(shù)等。有了反射,即可對每一個類型了如指掌。如果獲得了構(gòu)造函數(shù)的信息,即可直接創(chuàng)建對象,即使這個對象的類型在編譯時還不知道。
1,導(dǎo)入using System.Reflection;
2,Assembly.Load("程序集")//Assembly.LoadFile("外部調(diào)用的動態(tài)庫")加載程序集,返回類型是一個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)建此類型實例
6,MethodInfo mInfo = type.GetMethod("方法名");獲取當(dāng)前方法
7,mInfo.Invoke(null,方法參數(shù));
這些是反射的一些基本應(yīng)用,,,
![]() |
新聞熱點
疑難解答