我正在嘗試創建一個這樣的插件體系結構;
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