Lazy<T>
имеет особое значение для импорта MEF.Вместо того, чтобы буквально искать экспорт Lazy<T>
, MEF будет искать экспорт T
и инстанцировать эту часть лениво.
Попробуйте вместо этого использовать этот тип для импорта и экспорта:
public class LazyPart<T> : Lazy<T>
{
public LazyPart(Func<T> initializer) : base(initializer)
{
}
}
Поскольку это другой тип, он не должен иметь особого значения для MEF.