C#使用反射(Reflect)获取dll文件中的类型并调用方法
程序员文章站
2023-12-09 19:22:33
使用反射(reflect)获取dll文件中的类型并调用方法,具体内容如下
需引用:system.reflection;
1. 使用反射(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. 反射调用结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。