如何实现C#使用Reflect获取dll文件中的类型并调用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获
使用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"); //创建该类型的实例 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. 反射调用结果:
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。