2010-07-16 15 views
20

Estoy tratando de seguir algunas guías de inicio para usar MEF en .Net 4, pero me quedo atascado cuando configuro la aplicación. Las instrucciones dicen que hacer esto:MEF: ComposeParts falta

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

Pero la versión de System.ComponentModel.Composition incluye con .Net 4 no parecen tener el método Composeparts disponibles en CompositionContainer, y no puedo encontrar una buena referencia sobre cómo hacer esto en el sistema actual.

su referencia es actualmente estoy usando: Building Composable Apps in .NET 4 with the Managed Extensibility Framework

¿Alguien por ahí tiene una mejor referencia que debería estar mirando?

Respuesta

26

CompositionContainer tiene un método ComposeParts, como extension method.

Consulte la referencia this para obtener un código que funcione.

+3

¿por qué oh por qué es un método de extensión? gracias por la respuesta :-) – ColinE

22

Una cosa a tener en cuenta, si no ha usado métodos de extensión anteriormente. DEBE tener la declaración de uso. En este caso:

using System.ComponentModel.Composition; 

para que funcione el código en la pregunta. Sin la instrucción using, el intellisense y el compilador no permitirán el uso del método de extensión.

+0

Gracias. Me salvaste valiosos minutos en un Hackathon. – BSalita