博客
关于我
C# Activator.CreateInstance()方法使用
阅读量:394 次
发布时间:2019-03-05

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

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);

(转 http://blog.csdn.net/daodaowolf/article/details/8977234 )

你可能感兴趣的文章
上周热点回顾(2.19-2.25)
查看>>
云计算之路-阿里云上:博客web服务器轮番CPU 100%
查看>>
云计算之路-阿里云上:服务器CPU 100%问题是memcached连接数限制引起的
查看>>
上周热点回顾(3.26-4.1)
查看>>
上周热点回顾(6.25-7.1)
查看>>
【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
查看>>
工作半年的思考
查看>>
不可思议的纯 CSS 滚动进度条效果
查看>>
【CSS进阶】伪元素的妙用--单标签之美
查看>>
开始CN的生活
查看>>
惊闻NBC在奥运后放弃使用Silverlight
查看>>
IE下尚未实现错误的原因
查看>>
创建自己的Docker基础镜像
查看>>
HTTP 协议图解
查看>>
Python 简明教程 --- 20,Python 类中的属性与方法
查看>>
Python 简明教程 --- 21,Python 继承与多态
查看>>
KNN 算法-理论篇-如何给电影进行分类
查看>>
Spring Cloud第九篇 | 分布式服务跟踪Sleuth
查看>>
CODING 敏捷实战系列课第三讲:可视化业务分析
查看>>
使用 CODING DevOps 全自动部署 Hexo 到 K8S 集群
查看>>