Использование C# 4 Вы можете использовать ленивую инициализацию для MEF. См. Lazy .
Код: Выделить всё
// So I have this member, populated through MEF.
private Lazy item;
public Lazy Item
{
get
{
return item;
}
set
{
item = value;
}
}
Теперь, что, если у меня есть экземпляр MyItem , который я хотел бы назначить этой Lazy Member Variate? Это не работает: < /p>
Код: Выделить всё
var myItem = new MyItem(); // Implements ISomeInterface
o.Item = myItem; // Cannot convert type...
Обновление: Я слишком упростил свой образец. Проблема здесь в том, что у меня есть предметы с ленивым оцениваемым (поступающие из MEF Manager) Manager) с точки зрения Lazy . Иногда эти элементы уже создаются, что запрашивает конструкцию следующим образом: < /p>
однако , что вызывает отсутствие memberexception :
" . "
Q: Как мне назначить ленивую переменную с помощью экземпляра t (это реализует u )?
Подробнее здесь:
https://stackoverflow.com/questions/142 ... tance-of-t