当前位置:首页 >> 新能源

C中Plugin的实践节能

2020-11-09 16:38:44  双城汽车网

Plugin是一种相当灵活的可扩充、模块化机制,微软的Application Block不少采用了Plugin结构,本文讨论Plugin在C#中的一种实践。

Plugin是基于统一的接口,在C#中采用Reflection机制产生实现IPlugin的对象。假定接口为IPlugin,以下代码块示意动态产生IPl支持小微企业发展意味着以更少的投资创造更多的就业岗位。ugin对象的代码段,其中dllName是实现IPlu看到gin接口类的dll文件名: public IPlugin LoadPlugin(string dllName)

{

Assembly asm = ad(dllName);

foreach(Type t in tTypes()) {

foreach(Type iface in tInterfaces()) {

if(uals(typeof(IPlugin))) {

return (eateInstance(t)) as IPlugin;

}

}

}

return null;

}

Java也有Reflection机制,实现Plugin也很简单,大致是(IPlugin)rName(className).newInstance()的样子。C++由于Reflection机制,可以采用DLL模拟,在DLL中export一个全局函数和interface,该全局函数返回实现了接口的对象的指针。

微软有关于Provider Pattern的文章,文中提供了另一种C#可以带参数的实例化方法。

先声药业港股上市
铜川妇科医院哪家好
桂林治白癜风的医院
友情链接