(转)反射-实例化类
分两步来做:
第一步,新建一个类库,写入代码如下:
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);
}
}
邮箱:lzd_ren@hotmail.com
出处:http://www.cnblogs.com/liuzhendong
本文版权归作者所有,欢迎转载,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。