Импорт полей MEF не разрешен - PullRequest
       0

Импорт полей MEF не разрешен

2 голосов
/ 26 октября 2010

У меня есть проект 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 
{

}

Ответы [ 2 ]

3 голосов
/ 27 октября 2010

Оказывается, я был просто тупым - я проверял значения свойств / полей в конструкторе, тогда как они будут разрешены только после завершения конструктора.

0 голосов
/ 26 октября 2010

Измените модификатор доступа с частного на публичный и проверьте, работает ли он.

...