zoukankan      html  css  js  c++  java
  • Activator.CreateInstance 方法 (Type) 的用法

    转自:http://www.cnblogs.com/lmfeng/archive/2012/01/30/2331666.html

    Activator.CreateInstance 方法 (Type) 的用法

     
    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);
            }
        }
    }
    复制代码

    网上代码System.Type.GetType内为"ActivatorCreateInstance.ClassExam,ActivatorExample"编译失败
     
  • 相关阅读:
    【转】php中XML、XSLT的结合运用
    【转】PHP 5.3 5.4 5.5 5.6特性
    Go语言的编程范式
    Appcelerator Titanium Studio: JNI_CreateJavaVM missing error
    良好Web系统架构的几个因素
    决定去掉博客中附加的多说评论
    用PHP实现Windows域验证
    Netbeans 8.0.1 坑爹请不要升级
    教程:30分钟学会Adobe Premiere
    完美:adobe premiere cs6破解版下载[序列号+汉化包+破解补丁+破解教程]
  • 原文地址:https://www.cnblogs.com/chengjun/p/4555224.html
Copyright © 2011-2022 走看看