您的位置:首页 > 编程语言 > C#

C#的Activator.CreateInstance方法

2015-12-08 00:05 441 查看
转载自:http://www.cnblogs.com/lmfeng/archive/2012/01/30/2331666.html

Activator.CreateInstance 方法 (Type) 

使用与指定参数匹配程度最高的构造函数来创建指定类型的实例。 
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中) 

C# 
public static Object
CreateInstance (Type type)

Activator.CreateInstance 泛型方法 ()
 

注意:此方法在 .NET Framework 2.0 版中是新增的。
创建类型的一个实例,该类型由指定的泛型类型参数指定。 
命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)

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


        }


    }


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c#