2010-07-16 77 views
20

我正在尝试遵循一些在.Net 4中使用MEF的入门指南,但是当我开始设置应用程序时,我遇到困难。该指示说要做到这一点:MEF:ComposeParts missing

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

,但包括在.NET 4 System.ComponentModel.Composition的版本似乎并没有对CompositionContainer中可用的Composeparts方法,我无法找到一个很好的参考在当前系统中如何做到这一点。

下面是引用我目前正在使用: Building Composable Apps in .NET 4 with the Managed Extensibility Framework

有谁在那里有更好的参考,我应该看什么?

回答

26

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

请参阅this参考一些工作代码。

+3

为什么哦为什么哦为什么它是一种扩展方法!谢谢你的回答:-) – ColinE 2011-09-30 08:15:07

22

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

using System.ComponentModel.Composition; 

为问题中的代码工作。没有using语句,intellisense和编译器将不允许使用扩展方法。

+0

谢谢。你在Hackathon为我节省了宝贵的时间。 – BSalita 2013-03-28 08:38:13