我有一個應用程序,我使用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>();
如何可以完成此之前?
謝謝