Посмотрите на этот код:
public class Program
{
[import]IMain Main {get; set;}
...
private Compose() {...}
}
internal interface IMain
{
...
}
[Export(typeof(IMain)]
public class Main : IMain
{
[import]
Interace1 Object1 {get;set;}
[import]
Interace2 Object2 {get;set;}
}
...
Я хочу лениво загрузить Object2 после композиции между Program и Main. Когда я сочиняю в Программе, у меня возникает ошибка MEF, потому что MEF также пытается составить Object2 (но реализация Interface2 недоступна в начале ... Я хочу загрузить ее после).
Как я могу это сделать?
Я пытался поставить:
[import]
Lazy<Interace2> Object2 {get;set;}
но у меня все та же проблема.