C# 之 利用反射获取指定的类(转载)

学习C#的特性,先来了解一下反射的基本用法 . . .

1、反射一个 DLL 中的类,没有引用它(未知类型):
Assembly assembly = Assembly.LoadFile(“程序集路径,不能是相对路径”); // 加载程序集(EXE 或 DLL)
dynamic obj = assembly.CreateInstance(“类的完全限定名(即包括命名空间)”); // 创建类的实例

示例如下所示:
在这里插入图片描述

2、反射当前项目中的类:

Assembly assembly = Assembly.GetExecutingAssembly(); // 获取当前程序集
dynamic obj = assembly.CreateInstance(“类的完全限定名(即包括命名空间)”); // 创建类的实例,返回为 object 类型,需要强制类型转换

也可以为:

Type type = Type.GetType(“类的完全限定名”);
dynamic obj = type.Assembly.CreateInstance(type);

示例如下所示:
在这里插入图片描述

4、访问以加载的 .dll 文件:
System.Reflection.Assembly.Load(“程序集名称(不含文件后缀名)”).CreateInstance(“命名空间.类名”, false);
如:
dynamic o = Assembly.Load(“Huameng”).CreateInstance(“MyNameSpace.A”, false);

示例如下所示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值