反射 调类cs文件没事,但是调用DLL出错高分
以前我是这么调用的,调用的都是我包含在项目里面的cs文件,这些文件都是UserControl,是cs但是没有编译成dll.这样调用没问题. 
 	string   str= "water.sysmanage.datasave "; 
 	Type   t   =   Type.GetType(str);    
 	UserControl   control=(UserControl)Assembly.GetExecutingAssembly().CreateInstance(str);    
 	if(control!=null) 
 	            this.panelfill.Controls.Add(control);   
 后来想分开做功能,其他组员给我UserControl编译好的dll但是调用不成功以下是调用代码,请高手分析下.就是想把这个dll进行实例化然后填充到panel里面   
 	//读取选择指定的dll文件 
 	string   strPath   =   @ "D:\DDLinfo\bin\Debug\datasave.dll "; 
 	string   NameSpace   =    "water.sysmanage.datasave "; 
 	//加载指定的程序集之内存中 
 	Assembly   assembly   =   Assembly.LoadFrom(strPath); 
 	//返加程序集中的一个指定的对象,哪果是返回所有对象,则用GetTypes()返回一个Typt对象的数组. 
 	Type   T   =   assembly.GetType(NameSpace); 
 	//根据前面type类型创建一个对象   *******************下面这行报错.调用发生异常 
 	UserControl   control   =   (UserControl)Activator.CreateInstance(T);   
 	if   (c   !=   null) 
                                           this.panelfill.Controls.Add(control);     
 我就是想把个   UserControl的dll      fill到panel里面      大家多指点
------解决方案--------------------assembly.CreateInstance(namespace)
------解决方案--------------------mark
------解决方案--------------------assembly.CreateInstance(T.FullName);
------解决方案--------------------Activator.CreateInstance(T)这个方法只能用于本程序集中有的类型,如果这个程序集中没有的类型是不能这样创建的。
------解决方案--------------------支持
------解决方案--------------------什么错误?
------解决方案--------------------UserControl control = ((UserControl)Activator).CreateInstance(T); 
 这样试试。
------解决方案--------------------GetExecutingAssembly得到的应该是当前正在执行的程序集.   
 你分开之后当然找不到了.   
 要先Load那个程序集.再取类型.
------解决方案--------------------先用Assembly把程序集Load进来就可以了
------解决方案--------------------agree with you
------解决方案--------------------  Activator.CreateInstance(T)这个方法只能用于本程序集中有的类型,如果这个程序集中没有的类型是不能这样创建的。   
  assembly.CreateInstance(namespace)