110,539
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
namespace BusinessRules
{
public interface IBSBase
{
DataSet GetAll();
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
namespace BusinessRules
{
public class Class1:IBSBase
{
public DataSet GetAll()
{
return null;
}
}
}
Type obj = System.Reflection.Assembly.LoadFile(filePath).GetType("BusinessRules.Class1");
//该处出现bug,抛出:无法将类型为“BusinessRules.Class1”的对象强制转换为类型“BusinessRules.IBSBase”。
BusinessRules.IBSBase rules = (BusinessRules.IBSBase)Activator.CreateInstance(obj);
//如果这样处理,可以转换成功;
Type t = typeof(BusinessRules.Class1);
//如果使用下面这种方式,转换后为null,filePath为dll的路径,pBusinessName="BusinessRules.Class1"
Type t = System.Reflection.Assembly.LoadFile(filePath).GetType(pBusinessName);
BusinessRules.IBSBase rules = Activator.CreateInstance(t) as BusinessRules.IBSBase;
assembly = Assembly.Load(_assemblyName);// Assembly.LoadFrom(assemblyName);
_providerInstance = (EcaProvider)assembly.CreateInstance(_providerName);