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

    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"编译失败

  • 相关阅读:
    EF架构~系列目录
    不谈技术~做一个好人,一个简单的人
    不谈技术~谈人生,干吧,年轻人!
    c++ 用lambda删除vector中元素
    转:我们为什么这么容易受骗?
    windows 数据类型
    《暗时间》书摘 “学习与思考”
    转:斯托克代尔悖论与底线思考法
    Android之HelloWorld
    win7搭建android开发环境
  • 原文地址:https://www.cnblogs.com/wolfocme110/p/4482761.html
Copyright © 2011-2022 走看看