(转)反射-实例化类

分两步来做:

第一步,新建一个类库,写入代码如下:

using System;
using System.Collections.Generic;
using System.Text;

namespace BAL
{
    public class Customer
    {
        ....
    }
}


第二步,将类库的DLL文件复制到新建的程序集目录下,然后在程序集中加入如下代码:

方法1.使用System.Activator类的createinstance

using System;
using System.Reflection;

class program
{
    static void Main()
    {
        Assembly asse = Assembly.Load("BAL");
        Type type = asse.GetType("BAL.Customer");
        object obj = Activator.CreateInstance(type);
        Console.WriteLine(obj);
        Console.WriteLine(type.FullName);
       
    }
}

方法2.使用assembly类中的createinstance方法 

using System;
using System.Reflection;

class program
{
    static void Main()
    {

        string assemblyName = "BAL";

        string className = assemblyName  + "Customer";
        object obj (BAL.Customer)Assembly.Load(assemblyName).CreateInstance(className);
        Console.WriteLine(obj);
        Console.WriteLine(type.FullName);        
    }
}

 

posted on 2011-07-26 17:49  BobLiu  阅读(507)  评论(0编辑  收藏  举报