System.Reflection.Assembly ass = System.Reflection.Assembly.Load(nameSpace); object obj = ass.CreateInstance(className); Iobject op = (Iobject)obj;//Iobject为抽象类,是className的父类
补充说明一下, System.Reflection.Assembly ass = System.Reflection.Assembly.Load(nameSpace);//nameSpace并不是名称空间,而是程序集名称
swordragon(古道热肠) ( ) 说得对 using System.Reflection; Assembly assembly = Assembly.LoadFrom("xxx.dll的路径"); Type[] aa = a.GetTypes(); foreach(Type a in aa) { if(a.FullName == "a.b.c") { object o = assembly.CreateInstance(a, true); return o; } } return null;
using System.Reflection; Assembly assembly = Assembly.LoadFrom("xxx.dll的路径"); Type[] aa = a.GetTypes();foreach(Type t in aa) { if(t.FullName == "a.b.c") { object o = Activator.CreateInstance(t); } }
Assembly a = Assembly.LoadFrom("xxx.dll的路径");
Type[] aa = a.GetTypes();
Assembly assembly = Assembly.Load("A") ;A为程序集名称
Type t= assembly.GetType("A.B.C",true,true) ;A.B.C为类的全称
//动态创建实例
object obj = Activator.CreateInstance (t);
object obj = ass.CreateInstance(className);
Iobject op = (Iobject)obj;//Iobject为抽象类,是className的父类
System.Reflection.Assembly ass = System.Reflection.Assembly.Load(nameSpace);//nameSpace并不是名称空间,而是程序集名称
using System.Reflection;
Assembly assembly = Assembly.LoadFrom("xxx.dll的路径");
Type[] aa = a.GetTypes();
foreach(Type a in aa)
{
if(a.FullName == "a.b.c")
{
object o = assembly.CreateInstance(a, true);
return o;
}
}
return null;
Assembly assembly = Assembly.LoadFrom("xxx.dll的路径");
Type[] aa = a.GetTypes();foreach(Type t in aa)
{
if(t.FullName == "a.b.c")
{
object o = Activator.CreateInstance(t);
}
}
利用 Type[] FormInf= FormInf.GetTypes()和FormInf.FullName判断c的名称。