Почему бы не экспортировать эти службы?
[Export(typeof(IMyService))]
public class MyService : IMyService
{
...
}
Если служба связана с оболочкой, а оболочка отвечает за ее настройку, вы можете экспортировать ее как свойство оболочки;в этом случае вам нужно удалить атрибут экспорта из класса MyService
и получить следующее:
public class Shell : Window
{
[Export]
public IMyService MyService
{
get
{
MyService service = new MyService();
// initialize service
return service;
}
}
}
Тогда каждая часть может импортировать и использовать их.
[ModuleExport(typeof(MyModule))]
public class MyModule : IModule
{
[Import]
public IMyService MyService { get; set; }
}
Таким образом, вызнать, что служба настроена оболочкой при импорте.