使用继承自 Lazy<> 的类导入依赖项
您可以使用继承自 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; }
}
这可能吗?会起作用吗?我可以自己尝试一下,但我正在开发中,所以我实际上没有编写任何代码。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,恐怕行不通。您需要实现自己的编程模型扩展(自定义部件/目录或可能通过
ReflectionModelServices
)才能完成此工作。MEF 必须创建
FeatureReference
对象才能设置它,并且考虑到FeatureReference
可能具有任何可以想象到的构造函数,您可以猜测为什么不支持它。No, it won't work I'm afraid. You would need to implement your own programming model extension (either a custom part/catalog or possibly via
ReflectionModelServices
) to make this work.MEF would have to create the
FeatureReference
object in order to set it, and considering thatFeatureReference
might have any constructor imaginable, you can guess why this isn't supported.