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

    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"编译失败
  • 相关阅读:
    【转】 GetProcAddress()用法
    AutoCAD开发小记
    Visual Studio 2015正式版发布
    【VS2010]如何删除【附加依赖项】中“继承的值”?
    OpenCV入门指南
    Visual Studio 遇到了异常。这可能是由某个扩展导致的。
    VS2010在WIN7下安装报错“下列组件安装失败”如何解决
    获取系统日期时间的简单方法
    免费在线pdf互转工具
    应用层vc实现三种文件监视方法
  • 原文地址:https://www.cnblogs.com/chengjun/p/4485497.html
Copyright © 2011-2022 走看看