最终结果
//反射机制
//参数
object[] parameters = new object[1];
parameters[0] = _rowDataFromCore;
//(基类)Assembly.Load("当前程序集名称").CreateInstance("命名空间.子类名称"));
type = (ATypeBase)Assembly.Load(typeof(ATypeBase).Assembly.GetName().Name)
.CreateInstance(typeof(ATypeBase).Namespace + "." + string.Format("A{0}", typeName)
,false,System.Reflection.BindingFlags.Default
,null,parameters,null,null);
里面全部都用变量替换掉了。完全不用考虑自己写
这里ATypeBase基类肯定在一个命名空间里啦,如果,你写的接口外面人使用的话,库又不开放,还是把factory公开吧
c# 当前程序集名称 :typeof(ATypeBase).Assembly.GetName().Name
c# 命名空间:typeof(ATypeBase).Namespace