这是使用 Ninject V3.0 不起作用的设置
public class LoggerModule : NinjectModule{
public override void Load()
{
Bind<ILogger>.ToProvider(MyLoggerProvider);
}
}
public class MyLoggerProvider: IProvider<ILogger>
{
public object Create(IContext context){
return new OneOfMyLoggers();
}
}
在我的应用程序中,无论我在哪里注入 ILogger 实例(使用构造函数或属性注入,这很重要),我从来没有解析 ILogger 的实例。
但是如果不使用模块和/或 povider,并在创建内核时绑定,那么一切都像一个魅力。以下作品
public class MyDiResolver()
{
public MyDiResolver()
{
MyKernel = new StandardKernel();
MyKernel.Bind<ILogger>().To<OneOfMyLoggers>();
}
}
在 Ninject2.x 版本中,模块和提供程序的相同排列可以正常工作。我错过了关于 Ninject V3.0 的一些不同之处吗?
谢谢