CompositionContainer.ComposePart是一种扩展方法。这是为什么?查看System.Componentmodel.Composition程序集,它看起来像是因为它只能用于属性编程模型,而.Compose()方法只要它是一个可组合部分就可以接受导出。 ComposePart甚至托管在'AttributedModelServices'类中,这让我觉得我是对的。
我对此是否正确?如果没有,为什么它是扩展方法而不是容器类中的方法?
答案 0 :(得分:0)
它看起来像是因为它只能用于属性编程模型
是。可以构造一个根本不使用归因模型的CompositionContainer
。您可以创建自己的导出提供程序实现或目录实现。
但ComposeParts
依赖于给定对象属性上的导入属性。