MEF:ComposeParts缺失

时间:2010-07-16 18:48:11

标签: c# .net mef

我正在尝试遵循一些在.Net 4中使用MEF的入门指南,但是在设置应用程序时我遇到了困难。说明要说:

var catalog = new DirectoryCatalog(@".\");
var container = new CompositionContainer(catalog);
container.Composeparts(this);

但.Net 4中包含的System.ComponentModel.Composition版本似乎没有在CompositionContainer上使用Composeparts方法,我无法在当前系统中找到关于如何执行此操作的良好参考。 / p>

以下是我目前使用的参考资料: Building Composable Apps in .NET 4 with the Managed Extensibility Framework

有没有人有更好的参考资料?

2 个答案:

答案 0 :(得分:26)

CompositionContainer确实有一个ComposeParts方法,作为extension method

请参阅this参考了解一些有效的代码。

答案 1 :(得分:22)

有一点需要注意,如果您之前没有使用过扩展方法。你必须有using语句。在这种情况下:

using System.ComponentModel.Composition;

要使问题中的代码生效。如果没有using语句,intellisense和编译器将不允许使用扩展方法。