我有一个应用程序,我使用MEF进行DI的组合和统一。 在某些时候,我有一个使用MEF为服务加载许多提供者的组件。 有些应该使用Unity实例化提供者,因为实例化时它们需要接收add'l组件。MEF和Unity集成
需要由Unity创建的提供者具有向容器注册的依赖类型/接口。
但是,当通过MEF构成根组件(并且列表中填充了由MEF注册的所有导出组件)时,需要使用Unity构建的组件不会注入其依赖关系。
我的代码是
public class LoggerManager
{
[ImportMany(typeof(ILogger))]
private List<ILogger> _loggers { get; set; }
}
和记录器是
[Export(typeof(ILogger))]
public class WinEventLog : EventLog, ILogger
{
private IWinLoggerConfigurator _config = null;
public WinEventLog(IWinLoggerConfigurator config)
{
_config=config;
}
}
在我主要的代码我有,尝试撰写日志管理
UnityHelper.Container.RegisterType<IWinLoggerConfigurator , MyWinLoggerConfigurator>();
如何可以完成此之前?
谢谢