這篇文章主要介紹C#如何使用反射獲取dll文件中的類型并調用方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
公司主營業(yè)務:網站設計、成都網站建設、移動網站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現互聯(lián)網宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出孝感免費做網站回饋大家。使用反射(Reflect)獲取dll文件中的類型并調用方法,具體內容如下
需引用:System.Reflection;
1. 使用反射(Reflect)獲取dll文件中的類型并調用方法(入門案例)
static void Main(string[] args) { //dll文件路徑 string path = @"D:\VS2015Project\001\Computer\bin\Debug\computer.dll"; //加載dll文件 Assembly asm = Assembly.LoadFile(path); //獲取類 Type type = asm.GetType("Computer.Computer"); //創(chuàng)建該類型的實例 object obj = Activator.CreateInstance(type); //獲取該類的方法 MethodInfo mf = type.GetMethod("ShowDrives"); //調用方法 mf.Invoke(obj, null); Console.ReadKey(); }
2. 生成類庫(computer.dll)的computer.cs文件代碼
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace Computer { public class Computer { private DriveInfo[] drives; public Computer() { this.drives = DriveInfo.GetDrives(); } public void ShowDrives() { Console.WriteLine("該電腦的磁盤驅動器有:\r\n"); foreach (var item in drives) { Console.WriteLine(item); } } } }
3. 反射調用結果:
C#是一個簡單、通用、面向對象的編程語言,它由微軟Microsoft開發(fā),繼承了C和C++強大功能,并且去掉了一些它們的復雜特性,C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優(yōu)雅的語法風格、創(chuàng)新的語言特性和便捷的面向組件編程從而成為.NET開發(fā)的選語言,但它不適用于編寫時間急迫或性能非常高的代碼,因為C#缺乏性能極高的應用程序所需要的關鍵功能。
以上是“C#如何使用反射獲取dll文件中的類型并調用方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網站設計公司行業(yè)資訊頻道!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。