забавно, вы должны спросить об этом, сейчас я работаю над чем-то вроде этого.
В интерфейсе, который вы определяете для плагинов, предоставьте метод / свойство, которое является интерфейсом из вашего приложения, котороеплагин может использовать.
Затем внутри вашего приложения реализуйте этот интерфейс.
Теперь в вашем плагине вызовите ваш метод, передав в этот класс, что.
Теперь внутри плагина он будетбыть в состоянии использовать методы и свойства, которые вы разработали в интерфейсе.
interface IPlugin
{
void CanBeCalledByTheApplication(IAppObject main);
}
interface IAppObject
{
void Alert(string msg);
}
Теперь в вашей реализации плагина вы можете просто перейти
main.Alert("this is my message");
И в вашем приложении вы 'd go
(IPlugin)myPlugin.CanBeCalledByTheApplication(someObject);
Это явно не полный пример, но вы должны быть в состоянии понять идею.