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() { Co<em style="color:transparent">本文来源[email protected]搞@^&代*@码)网9</em>nsole.WriteLine("该电脑的磁盘驱动器有:\r\n"); foreach (var item in drives) { Console.WriteLine(item); } } }}
3. 反射调用结果:
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问C#视频教程!
以上就是C#如何使用Reflect获取dll文件中的类型并调用?的详细内容,更多请关注搞代码gaodaima其它相关文章!