Activator.CreateInstance 方法 (Type)
使用与指定参数匹配程度最高的构造函数来创建指定类型的实例。
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)
public static Object CreateInstance (Type type)
Activator.CreateInstance 泛型方法 ()
注意:此方法在 .NET Framework 2.0 版中是新增的。
创建类型的一个实例,该类型由指定的泛型类型参数指定。
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)
public static T CreateInstance<T> ()
Activator.CreateInstance
(Type)实例
输入一个类的名称为参数,返回一个相应的类的实例。
这在工厂模式中是非常有用的,这样,可以使程序有更高的扩展性
/**//* * Created by SharpDevelop. * User: 19004991 * Date: 2009-8-6 * Time: 9:10 */ using System; namespace ActivatorCreateInstance { public interface IObject { void printName(); } public class ClassExam : IObject { private string name="default name"; public ClassExam() { } public ClassExam(string name) { this.name = name; } public void printName() { Console .WriteLine (this.name ); } } public class Program { public Program() { } public static void Main(string[] args) { // TODO: Implement Functionality Here IObject obj1=(IObject)Activator.CreateInstance(System.Type.GetType ("ActivatorCreateInstance.ClassExam")); obj1.printName(); IObject obj2=(IObject)Activator.CreateInstance(System.Type.GetType("ActivatorCreateInstance.ClassExam"),new string[]{"seted new name"}); obj2.printName(); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } } }
网上代码System.Type.GetType内为"ActivatorCreateInstance.ClassExam,ActivatorExample"编译失败