Ich versuche Konstrukteurs MEF Attribut Injection, um herauszufinden. Ich habe keine Ahnung, wie ich es erzähle, um die Parameter des Konstruktors zu laden.MEF-Konstruktor Injection
Dies ist die Eigenschaft I zu laden bin versucht
[ImportMany(typeof(BUsers))]
public IEnumerable<BUsers> LoadBUsers { get; set; }
Hier ist der Code, den ich mit den Baugruppen zu importieren.
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);
}
Hier ist die Klasse I
[Serializable]
[Export(typeof(BUsers))]
public class EditProfile : BUsers
{
[ImportingConstructor]
public EditProfile(string Method, string Version)
{
Version = "2";
Action = "Edit";
TypeName = "EditProfile";
}
Ich habe gerade den neuen CodePlex heruntergeladen. Die Methode von ComposeExportedValue() befindet sich nicht in der Klasse von CompositionContainer. Wo ist es? –
Ich denke, ich habe die Methode gefunden. Es befindet sich in der Klasse von AttributedModelServices, in der die Methode als erweiterte Methode für die Klasse CompositionContainer definiert ist. –
@ David.Chu.ca Ja, ComposeExportedValue ist eine Erweiterungsmethode für die AttributedModelServices-Klasse. –