c # добавление элементов управления в winform через плагин dll - PullRequest
0 голосов
/ 30 ноября 2010

У меня есть Winform Gui, который служит различным целям. Я создаю дополнительный плагин, который, если он присутствует, добавляет еще одну вкладку к моему tabcontrol, а затем добавляет необходимые элементы управления и т. Д.

Мой вопрос заключается в том, лучше ли мне кодировать это в основное приложение, то есть «если dll присутствует, создайте это представление», или я должен кодировать его в dll и использовать отражение? Возможно ли использовать отражение?

Спасибо /

1 Ответ

3 голосов
/ 30 ноября 2010

Возможно, вам следует изучить существующую платформу, которая делает именно то, что вы ищете.Например, Managed Extensibility Framework MEF

MEF представляет простое решение проблемы расширяемости во время выполнения.До сих пор любое приложение, которое хотело поддерживать модель плагинов, должно было создавать собственную инфраструктуру с нуля.Эти плагины часто бывают специфичными для приложения и не могут быть повторно использованы в нескольких реализациях.MEF предоставляет стандартный способ для хост-приложения выставлять себя и использовать внешние расширения.Расширения по своей природе могут повторно использоваться в различных приложениях.Тем не менее, расширение может быть реализовано в зависимости от приложения.Сами расширения могут зависеть друг от друга, и MEF позаботится о том, чтобы они были соединены в правильном порядке (еще одна вещь, о которой вам не придется беспокоиться).MEF предлагает набор подходов обнаружения для вашего приложения, чтобы найти и загрузить доступные расширения.

Или, если вам нужно быть в отдельном домене приложения, вы можете использовать Managed Addin Framework MAF

Но в вашем случае я думаю, что MEF должен сделать свое дело.Может быть, излишне, если у вас есть только один этот сценарий ... но это вариант.

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