Home>Article>Backend Development> How does C# use Reflect to get the type in the dll file and call it?

How does C# use Reflect to get the type in the dll file and call it?

青灯夜游
青灯夜游 forward
2018-10-18 14:21:29 2826browse

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#视频教程

The above is the detailed content of How does C# use Reflect to get the type in the dll file and call it?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete