博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#中Activator.CreateInstance()方法用法分析
阅读量:7016 次
发布时间:2019-06-28

本文共 1013 字,大约阅读时间需要 3 分钟。

本文实例讲述了C#中Activator.CreateInstance()方法用法。分享给大家供大家参考。具体分析如下:

Activator 类

包含特定的方法,用以在本地或从远程创建对象类型,或获取对现有远程对象的引用。

C#在类工厂中动态创建类的实例,所使用的方法为:

1. Activator.CreateInstance (Type)

2. Activator.CreateInstance (Type, Object[])

两种方法区别仅为:创建无参数的构造方法和创建有参数的构造函数。

//Activator.CreateInstance(Type)
object
result =
null
;
Type typeofControl =
null
;
typeofControl = Type.GetType(vFullClassName);
result = Activator.CreateInstance(typeofControl);
 
//Activator.CreateInstance(Type,Object[])
object
result =
null
;
Type typeofControl =
null
;
typeofControl = Type.GetType(vFullClassName);
result = Activator.CreateInstance(typeofControl, objParam);

但是在动态创建时,可能会动态使用到外部应用的DLL中类的实例,则此时需要进行反编译操作,使用Reflection命名控件下的Assembly类。

//先使用Assembly类载入DLL,再根据类的全路径获取类
 
object
result =
null
;
Type typeofControl =
null
;
Assembly tempAssembly;
tempAssembly = Assembly.LoadFrom(vDllName);
typeofControl = tempAssembly.GetType(vFullClassName);
result = Activator.CreateInstance(typeofControl, objParam);

转载于:https://www.cnblogs.com/JinKin/p/5254815.html

你可能感兴趣的文章
AlphaZero进化论:从零开始,制霸所有棋类游戏
查看>>
.NET仓储模式高级用例
查看>>
如何理解 Laravel 的 Ioc 容器
查看>>
ORACLE学习笔记--性能优化4
查看>>
毕啸南专栏 | 对话李开复:AI科学家的转型之路
查看>>
iphone: 可编辑的tableView Move&Delete
查看>>
爱上MVC3系列~使用视图模型的好处及与数据模型之间的赋值问题
查看>>
jQuery中的join方法
查看>>
JSP取得绝对路径
查看>>
Python Module_os_操作系统
查看>>
最新Do Not Track标准问世:网站都应尊重用户选择
查看>>
逾半数全球商业领袖认同智能自动化,但首先要解决员工的抵触情绪
查看>>
被忽视的Web安全漏洞:如何识别和解决?
查看>>
SDN网络的构建及通信业务与光纤引入
查看>>
对冷却系统进行全面分析
查看>>
撬动智能家居市场 智慧家庭“最强大脑”被激活
查看>>
聊聊springcloud的GatewayControllerEndpoint
查看>>
聊聊sentinel的SentinelResourceAspect
查看>>
聊聊flink的SpoutWrapper
查看>>
聊聊flink的StateDescriptor
查看>>