VB.NET Использование интерфейса, отражения и DLL для доступа к основным свойствам элементов управления формы - PullRequest
0 голосов
/ 10 июня 2011

У меня есть основная форма, отдельный dll интерфейса плагина и другая отдельная dll. Теперь это моя проблема: Я хотел бы получить доступ к свойствам элементов управления основной формы для манипулирования в другой DLL.

Пример: MainForm Plugins.dll Data.dll

Основная форма имеет контроль над этикеткой Я определяю свойства в интерфейсе Plugins.dll из Data.dll загружаю плагины для чтения метки управления из основной формы

Вопрос в том, как я могу это сделать? Можете ли вы опубликовать пример кода здесь. Спасибо.

Ответы [ 2 ]

1 голос
/ 10 июня 2011

Было бы лучше, если бы вы создали отдельную функцию, которая выполняет задачу, и экспортировали функцию.

0 голосов
/ 10 июня 2011

Если у вас есть контроль над основной формой, интерфейсом 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 в коде расширения, не требуя отражения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...