2010-07-16 17 views
20

Ich versuche, einige Starter-Anleitungen für die Verwendung von MEF in .Net 4 zu folgen, aber ich bleibe stecken, wenn ich zum Einrichten der Anwendung komme. Die Anweisungen sagen, dies zu tun:MEF: ComposeParts fehlt

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

Aber die Version von System.ComponentModel.Composition enthalten mit .Net 4 scheint nicht die Composeparts Methode auf CompositionContainer zur Verfügung zu haben, und ich bin nicht in der Lage eine gute Referenz zu finden wie man das im aktuellen System macht.

Hier wird die Referenz ich bin derzeit mit: Building Composable Apps in .NET 4 with the Managed Extensibility Framework

Hat jemand da draußen eine bessere Referenz, die ich sollte suchen?

Antwort

26

Der CompositionContainer verfügt über eine ComposeParts-Methode als extension method.

Siehe this Referenz für einige Arbeitscode.

+3

warum oh warum oh warum ist es eine erweiterungsmethode! Danke für die Antwort :-) – ColinE

22

Eine Sache zu beachten, wenn Sie noch keine Erweiterungsmethoden verwendet haben. Sie müssen die using-Anweisung haben. In diesem Fall:

using System.ComponentModel.Composition; 

für den Code in der Frage zu arbeiten. Ohne die using-Anweisung erlauben das Intellisense und der Compiler die Verwendung der Erweiterungsmethode nicht.

+0

Danke. Du hast mir wertvolle Minuten bei einem Hackathon gespart. – BSalita