动态加载dll,并创建类和实例
动态加载DLL,创建的类型无法转换成子类,但是如果不是动态DLL,而是象如下这种方式,则可以转换。
动态加载DLL创建子类实例后转换成子类的困惑:
http://www.cnblogs.com/xuefeng/archive/2007/05/25/759534.html
http://www.cnblogs.com/Arlen/archive/2007/05/31/766836.html
非动态加载DLL可以成功转换:
string typeStr = "Tencent.Itil.CFMS.Bll.{0},Tencent.Itil.CFMS.Bll";
Type type;
try
{
type = Type.GetType(String.Format(typeStr, this.DropDownList1.SelectedValue));
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
CILogicBase logic = (CILogicBase)Activator.CreateInstance(type);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
ServerLogic obj = (ServerLogic)logic; //此时可以成功转换成子类
string result = logic.Add(ci);
Response.Write(result);
}
catch //如果没有定义相应配置项的逻辑类则调用默认基类中的方法
{
CILogicBase logic = new CILogicBase();
Response.Write(logic.Add(ci));
}
动态加载DLL创建子类实例后转换成子类的困惑:
http://www.cnblogs.com/xuefeng/archive/2007/05/25/759534.html
http://www.cnblogs.com/Arlen/archive/2007/05/31/766836.html
非动态加载DLL可以成功转换:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)