通过接口传递类引用

时间:2014-01-18 13:44:57

标签: vb.net class interface

我很抱歉编辑,但我觉得我的问题不够具体。

我有一个Host Application,一个Interface.dll和一个Plugin.dll。在我的主机应用程序中,我在全球范围内使用类的实例。

但是:我的Plugin.dll(从Interface.dll实现我的iInterface)需要访问Host Application中我的类的特定实例。

通过在接口中使用我的函数名称,我可以从宿主应用程序访问插件中的那些函数,但是如何从插件中访问全局类实例?

我不能写

Public Interface IPlugin

    Sub SetInstance(ByRef MyClassInstance As MyClass)

End Interface

但这正是我想做的......

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

无法在接口中从宿主应用程序实现该类。唯一的方法是引用作为对象,这将导致许多其他问题。

解决方案是将公共类导出到自己的库(.dll)中,并将此库实例化为主机应用程序和插件以及界面。

现在可以毫无问题地传递引用,就像所有不同的代码部分都在同一名称空间中一样。

谢谢你们的帮助。