您的位置:首页 > 编程语言 > C#

C#使用反射(Reflect)获取dll文件中的类型并调用方法

2019-03-28 10:59 721 查看

使用反射(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. 反射调用结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: