这个大概分为两种情况:1-在同一程序集访问该类;2-在不同的程序集访问
A:同一程序集,使用微软的创建对象的类:System.Activator:
先通过类名,获取到类型,在使用用于创建本地或远程对象的Activator类创建类型的实例:
// 命名空间+类名 string strClass = "TLZ.COM.WebSite.T.WebAPI.Controllers.ControllerNameController"; Type type = Type.GetType(strClass); // 创建实例 Object obj = System.Activator.CreateInstance(type);
B:不同的程序集(同一程序集也可用):微软的程序集抽象类提供的方法创建
获取指定类所在的程序集:
System.Reflection.Assembly.Load("程序集名称");
或
System.Reflection.Assembly.LoadFile("程序集文件-DLL的绝对路径");
再通过程序集的抽象方法创建实例:CreateInstance(string typeName)
System.Reflection.Assembly assembly = System.Reflection.Assembly.Load("DataCommon"); //创建实例 Object obj=assembly.CreateInstance("类名");