C#反射的一些應(yīng)用
對(duì)于反射貧道也是很陌生的,所以趁現(xiàn)在有時(shí)間就把反射看了一下,記下筆記?。?!
反射的定義:反射(Reflection)是.NET中的重要機(jī)制,通過(guò)放射,可以在運(yùn)行時(shí)獲得.NET中每一個(gè)類(lèi)型(包括類(lèi)、結(jié)構(gòu)、委托、接口和枚舉等)的成員,包括方法、屬性、事件,以及構(gòu)造函數(shù)等。還可以獲得每個(gè)成員的名稱(chēng)、限定符和參數(shù)等。有了反射,即可對(duì)每一個(gè)類(lèi)型了如指掌。如果獲得了構(gòu)造函數(shù)的信息,即可直接創(chuàng)建對(duì)象,即使這個(gè)對(duì)象的類(lèi)型在編譯時(shí)還不知道。
1,導(dǎo)入using System.Reflection;
2,Assembly.Load("程序集")//Assembly.LoadFile("外部調(diào)用的動(dòng)態(tài)庫(kù)")加載程序集,返回類(lèi)型是一個(gè)Assembly
3, foreach (Type type in assembly.GetTypes())
{
string t = type.Name;
}
得到程序集中所有類(lèi)的名稱(chēng)
4,Type type = assembly.GetType("程序集.類(lèi)名");獲取當(dāng)前類(lèi)的類(lèi)型
5,Activator.CreateInstance(type); 創(chuàng)建此類(lèi)型實(shí)例
6,MethodInfo mInfo = type.GetMethod("方法名");獲取當(dāng)前方法
7,mInfo.Invoke(null,方法參數(shù));
這些是反射的一些基本應(yīng)用,,,
![]() |
以上只是對(duì)于反射的基本學(xué)習(xí),以后還要多看,多練習(xí)?。。?!
- c#反射調(diào)用方法示例
- c#反射機(jī)制學(xué)習(xí)和利用反射獲取類(lèi)型信息
- C#反射技術(shù)的簡(jiǎn)單操作(讀取和設(shè)置類(lèi)的屬性)
- C#利用反射來(lái)判斷對(duì)象是否包含某個(gè)屬性的實(shí)現(xiàn)方法
- C#中使用反射獲取結(jié)構(gòu)體實(shí)例及思路
- C#中的程序集和反射介紹
- C#實(shí)現(xiàn)利用反射簡(jiǎn)化給類(lèi)字段賦值的方法
- c#使用反射調(diào)用類(lèi)型成員示例
- 關(guān)于C#基礎(chǔ)知識(shí)回顧--反射(一)
- .NET/C#如何使用反射注冊(cè)事件詳解
相關(guān)文章
.Net Core WebApi部署到Windows服務(wù)器上的步驟
這篇文章主要介紹了.Net Core WebApi部署到Windows服務(wù)器上的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03asp.net+jquery Gridview的多行拖放, 以及跨控件拖放
學(xué)習(xí)JQuery時(shí),發(fā)現(xiàn)JQuery只能做單行拖放, 于是花時(shí)間做了一個(gè)多行拖放的例子, 以備以后使用。2009-11-11ScriptManager.RegisterStartupScript()方法在ajax頁(yè)面無(wú)效的解決方法
ScriptManager.RegisterStartupScript()方法在ajax頁(yè)面無(wú)效的解決方法2010-03-03asp.net DbProviderFactory的使用-示例
NET 2.0有一個(gè)抽象工廠模式的典型應(yīng)用:通過(guò)DBProviderFactory 可以對(duì)不同數(shù)據(jù)庫(kù)進(jìn)行操作。2009-11-11你應(yīng)該知道的.NET錯(cuò)誤與異常處理機(jī)制
這篇文章主要給大家介紹了關(guān)于.NET錯(cuò)誤與異常處理機(jī)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用.NET具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08.NET6?ConfigurationManager的實(shí)現(xiàn)及使用方式
這篇文章主要介紹了.NET6?ConfigurationManager的實(shí)現(xiàn),我們上面展示的這一部分的ConfigurationManager代碼,其實(shí)就是替代了原來(lái)的ConfigurationBuilder類(lèi)的功能,需要的朋友可以參考下2021-12-12ajaxToolkit:ModalPopupExtender演示及實(shí)現(xiàn)代碼
ajaxToolkit:ModalPopupExtender可以讓用戶模擬新開(kāi)一個(gè)窗口,就是在模擬新開(kāi)窗口作多項(xiàng)選項(xiàng)的功能,感興趣的朋友可以了解下,希望此文對(duì)你有所幫助2013-01-01