在Ninject3中有一個新的.ToConstructor feature。Ninject 3中的.ToConstructor和.ToMethod有什麼區別?
如上所述,它有助於強型構造函數的參數,如:
Bind<IMyService>().ToConstructor(
ctorArg => new MyService(ctorArg.Inject<IFoo>(), ctorArg.Inject<IBar>()));
什麼實際上是在幾乎相同的方式使用.ToConstructor和.ToMethod之間的區別:
Bind<IMyService>().ToMethod(
x => new MyService(x.Kernel.Get<IFoo>(), x.Kernel.Get<IBar>()));
它只是一個語法糖,以避免使用內核。獲取<>()或有沒有索姆還有什麼我失蹤?
注意:'Get'是一種擴展方法,您必須使用Ninject來使其工作。這花了我一分鐘,因爲我已經逃避了'使用Ninject.Modulesl'直到現在) –
2017-12-05 12:31:23