C# Activator

须要动态的建立一个实例模型的时候,就用Activator.CreateInstance(Type type);若是是明确的知道要建立哪一个实例的模型,就能够用 new函数

 

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

1. Activator.CreateInstance (Type)对象

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

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

 

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

//先使用Assembly类载入DLL,再根据类的全路径获取类object

object result = null;
Type typeofControl = null;
Assembly tempAssembly;搜索

tempAssembly = Assembly.LoadFrom(vDllName);
typeofControl = tempAssembly.GetType(vFullClassName);
result = Activator.CreateInstance(typeofControl, objParam);构造函数

 

 

实例化一个类的方式
用 New 关键字实例化一个类
New 关键字用于建立对象和调用构造函数。是实例化一个类最多见的方式。引用

用 Activator 实例化一个类
Activator 用以在本地或从远程建立对象类型,或获取对现有远程对象的引用。其 CreateInstance 方法建立在程序集中定义的类型的实例。

用 Assembly 实例化一个类
Assembly 表示一个程序集,它是一个可重用、无版本冲突而且可自我描述的公共语言运行库应用程序构造块。该类能够加载程序集、浏览程序集的元数据和构成部分、发现程序集中包含的类型以及建立这些类型的实例。

加载程序集的推荐方式是使用 Load 方法。GetType 方法可用于在程序集中搜索特定类型。CreateInstance 方法可用于在程序集中搜索和建立类型的实例。--------------------- 做者:只要你在 来源:CSDN 原文:https://blog.csdn.net/icebergliu1234/article/details/84062674 版权声明:本文为博主原创文章,转载请附上博文连接!

相关文章
相关标签/搜索