如何在C#中将对象从主窗体传递给插件

时间:2012-03-02 04:42:31

标签: .net winforms c#-4.0

我有一个Windows应用程序(C#,。NET 4.0)。这个Windows应用程序是基于插件的。我想将一个对象从主应用程序传递给一个插件。

有人想告诉我一个例子吗? 。

1 个答案:

答案 0 :(得分:1)

有趣的是你应该问这个问题,我现在正在研究这样的事情。

在您为插件定义的界面中,提供一个方法/属性,该插件是您的应用程序可以使用的接口。

然后在您的应用程序中实现该接口。

现在在你的插件上调用你的方法传递那个类。

现在,在插件中,它将能够利用您在界面中设计的方法和属性。

interface IPlugin
{
    void CanBeCalledByTheApplication(IAppObject main);
}


interface IAppObject
{
    void Alert(string msg);
}

现在,在插件的实现中,你可以去

 main.Alert("this is my message");

在你的申请中你会去

(IPlugin)myPlugin.CanBeCalledByTheApplication(someObject);

这显然不是一个完整的例子,但你应该能够理解。