C#使用反射(Reflect)获取dll文件中的类型并调用方法
作者:在代码的世界里游走
这篇文章主要为大家详细介绍了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. 反射调用结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- C#调用C类型dll入参为struct的问题详解
- C# 添加对System.Configuration.dll文件的引用操作
- 关于C#调用C++dll传指针释放内存问题
- vs2019 实现C#调用c++的dll两种方法
- C#中托管DLL和非托管DLL的区别详解
- VSCode调试C#程序及附缺失.dll文件的解决办法
- Qt程序中调用C#编写的dll(推荐)
- C#调用Win32的API函数--User32.dll
- C#调用C++dll方法步骤
- C# [ImportDll()] 知识小结
- C#如何通过probing指定dll寻找文件夹详解
- C#调用易语言写的Dll文件方法
- C# 嵌入dll 的方法
- c#调用c语言dll需要注意的地方