MEF为什么ComposePart是一种扩展方法?

时间:2012-06-21 03:12:28

标签: .net mef

CompositionContainer.ComposePart是一种扩展方法。这是为什么?查看System.Componentmodel.Composition程序集,它看起来像是因为它只能用于属性编程模型,而.Compose()方法只要它是一个可组合部分就可以接受导出。 ComposePart甚至托管在'AttributedModelServices'类中,这让我觉得我是对的。

我对此是否正确?如果没有,为什么它是扩展方法而不是容器类中的方法?

1 个答案:

答案 0 :(得分:0)

  

它看起来像是因为它只能用于属性编程模型

是。可以构造一个根本不使用归因模型的CompositionContainer。您可以创建自己的导出提供程序实现或目录实现。

ComposeParts依赖于给定对象属性上的导入属性。