没有Lazy <t,tm> </t,tm>的MEF [ImportMany]

时间:2012-06-04 19:25:52

标签: .net mef

是否可以在不存储的情况下访问MEF中的导出元数据     IList<Lazy<T,TM>> parts,  但简单地说     IList<T> parts

1 个答案:

答案 0 :(得分:1)

不,事后您无法获取元数据。您必须将它与部件本身一起导入。

将导入视为指定组件需求的合同。如果它需要访问某些依赖项的元数据,那么你不应该隐藏它。

另见Nicholas Blumhardt关于The Relationship Zoo的帖子,其中组件之间的这种关系被描述为 A在使用它之前需要知道关于B的X 。关键是这个元数据是组件之间关系的一个方面,而不是应该以某种方式单独处理的东西。

相关问题