Estoy intentando descubrir el atributo de inyección de constructor de MEF. No tengo idea de cómo le digo que cargue los parámetros del constructor.MEF Constructor Injection
Esta es la propiedad que estoy tratando de cargar
[ImportMany(typeof(BUsers))]
public IEnumerable<BUsers> LoadBUsers { get; set; }
Aquí está el código que estoy usando para importar las asambleas.
try
{
var catalog = new AggregateCatalog();
catalog.Catalogs.Add(new AssemblyCatalog(System.Reflection.Assembly.GetExecutingAssembly()));
catalog.Catalogs.Add(new DirectoryCatalog("DI"));
var container = new CompositionContainer(catalog);
container.ComposeParts(this);
}
Aquí es la clase que estoy tratando de cargar
[Serializable]
[Export(typeof(BUsers))]
public class EditProfile : BUsers
{
[ImportingConstructor]
public EditProfile(string Method, string Version)
{
Version = "2";
Action = "Edit";
TypeName = "EditProfile";
}
Acabo de descargar la nueva en CodePlex. El método de ComposeExportedValue() no está en la clase de CompositionContainer. ¿Dónde está? –
Creo que encontré el método. Está en la clase de AttributedModelServices, donde el método se define como método extendido para clasificar CompositionContainer. –
@ David.Chu.ca Sí, ComposeExportedValue es un método de extensión en la clase AttributedModelServices. –