先决条件:
1、A.DLL:含类BaseClass  接口:BaseInterface
2、B.DLL 被反射, 包含 ClientClass,继承BaseClass 与 BaseInterface
3、C.exe调用反射DLL(B.DLL)。C 与 B 在项目中都明确引用A
目前通过B.dll 的程序集,通过
Obj = Activator.CreateInstance(oType, true)
得到了一个Object 对象,调试得知该对象的Base = BaseClass
请教大家我能否通过 Obj 得到一个明确的类型?我通过(BaseClass)Obj  转换得到一个错误。。Type is not resolved for member
最后感谢所有关注与回答的朋友

解决方案 »

  1.   

    只有在运行的时候才能知道obj的具体类型,而在编译期并不知道.
      

  2.   

    Obj = Activator.CreateInstance(oType, true)oType 这个是什么
      

  3.   


    虽然我不抱多大系统,但还是想尝试问问大家。。网络的力量是很大的。。
    有个疑问,如果基类是Form 的, 那么就可以强制转换成Form 类型,这是为何?
      

  4.   

    oType 是反射的程序集,类型为Type
      

  5.   

    貌似你的程序加载DLL的时候混乱了, 试试将你的BaseClass继承MarshalByRefObject
      

  6.   

    哥们感谢。
    由于期初我都对公共的BaseClass 明确的引用了。。看来反射回来的东西都是要继承MarshalByRefObject的。。 备注: 所有反射的东东我都在不同的应用程序域,方便卸载与加载。  结贴。。