我正在使用MEF将UnityContainer注入我的应用程序的插件中。
每个插件保持面板。
我想通过MEF将Unity容器转移到面板中。
我需要在面板的构造函数中使用Unity。
问题是Unity没有初始化。
因此,在创建面板后,我在插件中使用了CompositionContainer.ComposeParts(面板)。该 问题是我想在面板的构造函数中使用Unity。
我不想将UnityContainer或CompositionContainer作为参数发送到面板的构造函数中。
感谢
答案 0 :(得分:4)
你没有发布一些代码所以我假设:
如果你这样做:
public class Bar
{
[ImportingConstructor]
public Bar(IMyImportedService service)
{
//service should not be null
}
}
如果你这样做
public class Bar
{
[Import]
private IMyImportedService service;
public Bar()
{
//service should be null, because you have to implement IPartImportsSatisfiedNotificationand use OnImportsSatisfied
}
}