Mar*_*tin 48 dependency-injection ninject ninject-2
任何人都可以告诉我是否可以使用Ninject注册已经创建的类实例,以便每次需要注入时它都会使用此实例?
我想你可以称之为单身,但我已经创建了实例.所有文档都指向创建类的新实例.
nem*_*esv 71
您可以使用ToConstant获取已存在实例的方法并将其注册为单例.
var kernel = new StandardKernel();
kernel.Bind<MyClass>().ToConstant(myClassInstance);
Run Code Online (Sandbox Code Playgroud)
如果你想要更复杂的东西,你可以使用ToMethod(你可以使用Func来获取你的实例)和InSingletonScope
var kernel = new StandardKernel();
kernel.Bind<MyClass>().ToMethod(context => myClassInstance).InSingletonScope();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13607 次 |
| 最近记录: |