首页 > Windows开发 > 详细

C#中Activator.CreateInstance()方法用法分析

时间:2020-06-07 09:50:14      阅读:44      评论:0      收藏:0      [点我收藏+]
原文:C#中Activator.CreateInstance()方法用法分析

本文实例讲述了C#中Activator.CreateInstance()方法用法。

Activator 类
包含特定的方法,用以在本地或从远程创建对象类型,或获取对现有远程对象的引用。
C#在类工厂中动态创建类的实例,所使用的方法为:

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

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

技术分享图片
//System.Type.GetType(命名空间.类名,程序集)
string vFullClassName = "Kernel.SimpleLibrary.Person,Kernel.SimpleLibrary";
Type.GetType("Kernel.SimpleLibrary.Person,Kernel.SimpleLibrary")

//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);
技术分享图片

C#中Activator.CreateInstance()方法用法分析

原文:https://www.cnblogs.com/lonelyxmas/p/13058122.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!