我正在尝试创建一个这样的插件体系结构;
IPlugin:所有插件必须实现的接口。
NormalPlugin:一个普通的插件。
ComplexPlugin:一个插件,除了实现基本方法外,还有一些自定义方法。
HostApp:知道IPlugin是什么的应用程序。在c中的定义/实现问题#
当前宿主应用程序在编译时将具有ComplexPlugin,并且会动态加载NormalPlugin。这是因为主机需要在ComplexPlugin中定义所以可以调用它的自定义方法。
1)有没有更好的方法来实现这个目标?因为在编译时添加一些插件作为参考主机应用程序看起来有点跛脚。
2)我试着使用:
public interface IPlugin
{
object CallCustomMethod(string methodName, object[] parameters);
}
但尽管如此,如果CallCustomMethod返回一个复合型,应用程序将需要知道复杂类型强制转换为。 在此先感谢
http://stackoverflow.com/questions/3329399/best-practices-for-implementing-an-addin-addon-plugin-strategy – zerkms 2010-08-11 22:29:09