您可以使用继承自Lazy而不是Lazy本身的类导入吗?我使用包含元数据的ExportAttribute
派生词导出。
[FeatureExport(/* Feature Metadata Parameters */)]
public class Feature : IFeature
{
// Feature Properties
}
public class FeatureReference : Lazy<IFeature, IFeatureMetadata>
{
}
public class Consumer
{
[ImportMany]
public IEnumerable<FeatureReference> FeatureReferences { get; set; }
}
这可能吗?会有用吗?我可以自己尝试一下,但我正在开发中,所以我实际上并没有编写任何代码。
答案 0 :(得分:3)
不,我害怕它不起作用。您需要实现自己的编程模型扩展(自定义部件/目录或可能通过ReflectionModelServices
)来实现此功能。
MEF必须创建FeatureReference
对象才能设置它,并且考虑到FeatureReference
可能有任何构造函数可以想象,你可以猜到为什么不支持它。