2
我正在嘗試使用Ninject與我的應用程序日誌包裝。Ninject通過構造函數參數typeof類實現接口
這裏是包裝:
public class NLogLogger : ILogger
{
private readonly Logger _logger;
public NLogLogger(Type t)
{
_logger = LogManager.GetLogger(t.Name);
}
}
正如你可以看到我傳遞的類型分爲伐木者constrctor,所以我會用它像下面這樣:
public class EntityObject
{
public ILogger Logger { get; set; }
public EntityObject()
{
Logger = new NLogLogger(typeof(EntityObject));
}
}
現在我似乎無法瞭解如何使用Ninject做類似的事情。 這裏是我的綁定模塊:
public class LoggerModule : NinjectModule
{
public override void Load()
{
Bind<ILogger>().To<NLogLogger>();
}
}
現在很明顯,我得到拋出,因爲它不能注入類型到構造異常。任何想法我可以做到這一點?
錯誤激活類型
沒有匹配的綁定是可用的,並且類型不是自可綁定。
激活路徑:
4)依賴型注射入NLogLogger型的構造的參數t
3)依賴ILogger注射到型NzbGetSettingsService
2)射出的構造的參數記錄器依賴關係ISettingsService {NzbGetSettingsDto}轉換爲DashboardController類型的構造函數的參數nzbGetService
1)請求DashboardController
真棒,謝謝。我一直在拉我的頭髮! –