これは、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 について何か違う点がありますか?
ありがとう