我试图在我定义的类中获取导出的属性,但我认为缺少一些我不知道的东西。这是我的处理程序类:
public class Handler
{
public string Message { get; private set; }
public void Create(string msg)
{
Message = msg;
}
}
我的 HandlerUser 类是:
public class HandlerUser
{
[Export(typeof(Handler))]
public Handler MyHandler { get; set; }
public string Name { get; set; }
public HandlerUser() { MyHandler = new Handler(); }
}
在我的 program.cs 中,我有:
var catalogs = new AggregateCatalog();
var catalog = new ApplicationCatalog();
catalogs.Catalogs.Add(catalog);
CompositionContainer pluginsCompositionContainer = new CompositionContainer(catalogs);
HandlerUser u1 = new HandlerUser();
u1.MyHandler.Create("U1");
HandlerUser u2 = new HandlerUser();
u2.MyHandler.Create("U2");
var exports = pluginsCompositionContainer.GetExports<Handler>();
Console.Write(exports.Count());
我希望看到 2 个出口,他们应该有 "U1","U2" 作为他们的消息,但我只看到一个,消息是空的。我不知道缺少什么,我Handler
只是想导出 Every made in code,并且能够做一些逻辑。任何帮助都会很棒。