我有MEF / Prism 4项目,我可以通过ImportingConstructor解析导入,但不能通过同一类中的字段导入。
在下面的示例代码中,myDataService
在构造函数中正确解析。但是_myDataServiceFieldImport
尽管有Import
属性,但仍未解决[ModuleExport(typeof(TestModule))]
public class TestModule : IModule
{
private IMyDataService _myDataService;
[Import]
private IMyDataService _myDataServiceFieldImport;
[ImportingConstructor]
public TestModule(IMyDataService myDataService)
{
_myDataService = myDataService;
}
}
[PartCreationPolicy(CreationPolicy.Shared)]
[Export(typeof(IMyDataService))]
public class MyDataService : IMyDataService
{
}
。无论是字段还是属性,都是相同的结果。
我在这里找不到任何明显的东西?
{{1}}
答案 0 :(得分:3)
原来我只是愚蠢 - 我正在检查构造函数中的属性/字段值,而它们只有在构造函数完成后才会被解析。
答案 1 :(得分:0)
将访问修饰符从私有更改为公共,并检查是否有效。