C#如何使用Reflect获取dll文件中的类型并调用?


本文摘自PHP中文网,作者青灯夜游,侵删。

C#如何使用Reflect获取dll文件中的类型并调用??本篇文章就给大家介绍C#使用Reflect(反射)获取dll文件中的类型并调用的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。

使用Reflect(反射)获取dll文件中的类型并调用方法,需引用:

1

System.Reflection;

1. 使用Reflect(反射)获取dll文件中的类型并调用方法的示例(入门案例)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

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文件代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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#如何使用Reflect获取dll文件中的类型并调用?的详细内容!

相关阅读 >>

通达oa 使用C#的socket编程来其替代原有操作的示例代码分享

关于C#中字典dictionary的顺序及倒序详解

C#如何将datatable中的列名复制到另一个datatable

C#生成一万以内所有不重复数字的四位数

详解C#生成随机数功能的代码示例

C# tabcontrol组件如何切换显示form窗体的示例代码

C#tuples(元组)

详细介绍用C#描述数据结构3:arraylist的图文代码

详解C#winform程序自动更新实现方法(图)

详细介绍C#该行已经属于另一个表的解决方法

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...