2010-07-16 10 views
20

Sto provando a seguire alcune guide di avviamento per l'utilizzo di MEF in .Net 4, ma mi blocco quando riesco a configurare l'applicazione. Le istruzioni dicono di fare questo:MEF: ComposeParts mancante

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

Ma la versione di System.ComponentModel.Composition incluso con .Net 4 non sembra avere il metodo Composeparts accessibile CompositionContainer, e io sono in grado di trovare un buon riferimento su come farlo nel sistema attuale.

Ecco il riferimento Attualmente sto usando: Building Composable Apps in .NET 4 with the Managed Extensibility Framework

Qualcuno là fuori ha un riferimento meglio che dovrebbe essere guardando?

risposta

26

CompositionContainer ha un metodo ComposeParts, come extension method.

Vedere il riferimento this per un codice funzionante.

+3

why oh why oh why it it un metodo di estensione! grazie per la risposta :-) – ColinE

22

Una cosa da notare, se non sono stati utilizzati i metodi di estensione prima. DEVI avere l'istruzione using. In questo caso:

using System.ComponentModel.Composition; 

affinché il codice nella domanda funzioni. Senza l'istruzione using, l'intellisense e il compilatore non permetteranno l'uso del metodo di estensione.

+0

Grazie. Mi hai salvato preziosi minuti ad un Hackathon. – BSalita