zoukankan      html  css  js  c++  java
  • 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"编译失败
  • 相关阅读:
    【POJ 1655】Balancing Act
    【POJ 2631】 Roads in the North
    【洛谷 1002】 过河卒
    【洛谷 3178】树上操作
    【洛谷 1060】开心的金明
    【洛谷 2709】小B的询问
    【洛谷 1972】HH的项链
    JavaSpark-sparkSQL
    java8下spark-streaming结合kafka编程(spark 2.3 kafka 0.10)
    Kafka 使用Java实现数据的生产和消费demo
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2331666.html
Copyright © 2011-2022 走看看