1
私はモジュールを直接クラスとそれを使って注入しようとしています。Ninjectを使ってシングルトンとして複数回注入
interface ITestInterface {
void WriteHash();
}
class TestClass : ITestInterface {
public void WriteHash() => Console.WriteLine(GetHashCode());
}
class FirstModule : NinjectModule {
public override void Load() {
Bind<TestClass>().ToSelf().InSingletonScope();
}
}
class SecondModule : NinjectModule {
public override void Load() {
Bind<ITestInterface>().To<TestClass>().InSingletonScope();
}
}
とIMは、このような注射を引き起こし:このようなコードを使用して、このイムについて
NinjectModule[] modules = { new FirstModule(), new SecondModule() };
IKernel kernel = new StandardKernel(modules);
var foo = kernel.Get<TestClass>();
foo .WriteHash();
var bar = kernel.Get<ITestInterface>();
bar .WriteHash();
アイブ氏は別のハッシュコードを得ました。私は何が欠けていますか?
はどうもありがとうございましたが、とこれに関するもう1つの質問 これまでに行ったように、別のインターフェースを持つ1つのクラスの注入を行うためにsepareteモジュールを使用できますか?私は少数のロジックを少数のモジュールに分けたいと思いますが、あなたの答えは私の問題の最大の部分を解決するのに役立ちます。ありがとうございました。 – daspisch
わかりません。 v3の構文では、明らかにできません。 –