VB.NET使用接口,反射和DLL访问主窗体控件属性

时间:2011-06-10 18:18:03

标签: vb.net reflection dll interface

我有一个主窗体,一个单独的插件接口dll和另一个单独的dll。现在这是我的问题: 我想访问主窗体控件的属性以便在其他DLL中进行操作。

实施例: 的MainForm Plugins.dll Data.dll

主表单有标签控件 我在接口Plugins.dll中定义属性 来自Data.dll我加载插件以从主窗体中读取标签控件

问题是我该怎么做?您能在这里发布示例代码吗?感谢。

2 个答案:

答案 0 :(得分:1)

最好是创建一个单独的函数来执行任务并导出函数。

答案 1 :(得分:0)

如果您可以控制接口dll和插件的主窗体,最简单的设计模式是创建主窗体实现的接口。

Public Interface IMainForm
    Property Mainlabel As System.Windows.Forms.Label
End Interface

Public Class MyForm
    Inherits System.Windows.Forms.Form
    Implements IMainForm

    Public lbl As System.Windows.Forms.Label

    Public Property Mainlabel As System.Windows.Forms.Label Implements IMainForm.Mainlabel
        Get
            Return lbl
        End Get
        Set(value As System.Windows.Forms.Label)
            lbl = value
        End Set
    End Property
End Class

然后在扩展调用代码中将引用传递给Imain表单,不需要反射。