C#动态加载dll
如题。
需求是根据判断用户来动态加载dll。
我查了一下网上的例子。用反射来做。
关键是在实例化类型的时候Object obj = Activator.CreateInstance(type),需要一个空的构造函数。但是,我需要实例化的类型,继承了一个接口,类中有一个有参的构造函数
C# code
public TComponentDemo(IPortal Iportal)
: base(Iportal)
{
//Code
}
怎么才能实现呢。
------解决方案--------------------http://wenku.baidu.com/view/98580e4ac850ad02de8041fc.html
------解决方案--------------------http://zhidao.baidu.com/question/95864306.html
------解决方案--------------------看看CreateInstance的方法重载,有加载有参数的构造函数
------解决方案--------------------不是有带参数的方法的吗
Activator.CreateInstance (Type, Object[])
------解决方案--------------------(IDataInterface)(Assembly.LoadFile(Application.StartupPath + "\\" + "AData.Dll").CreateInstance(AData.DataClass));
其中:
AData.Dll是类库文件
AData.DataClass是带名称空间的完整类名