Для этого нет препятствий.
Интерфейс IModule
имеет один метод без параметров void
: Initialize()
.
Приложение без призмы может инициализировать модуль, вызвав этот метод. Вот и все.
Если другое приложение имеет другую систему плагинов с другим интерфейсом, ваш модуль может также реализовать этот интерфейс , и тело любого метода инициализации, который использует этот интерфейс, может просто вызвать Initialize()
, или наоборот.
Например:
public interface IMyPluginModule
{
void StartModule();
}
public class MyModule : IModule, IMyPluginModule
{
public void Initialize()
{
// actual initialization code here
}
public void StartModule()
{
Initialize();
}
}