如何按父类进行依赖
本文关键字:依赖 父类 何按 | 更新日期: 2023-09-27 18:24:50
我有一个类Handler
。在构造函数中,我有一个Manager
类,它取决于不同的设置。
kernel.Bind<IHandler>().To<Handler>().
WithConstructorArgument("manager",
new Manager(kernel.Get<IDataAccessFactory>().CreateUnitOfWork(), new Custom1Settings()));
如何在Manager
中创建Custom1Settings
的注入,以及在Handler
中创建哪个注入
class Handler
{
Handler(IManager manager....)
{
...
}
}
class Manager
{
Manager(IUnitOfWork unit, ISettings settings)
{
...
}
}
Ninject
会自动计算出依赖关系。这是它最有用的功能之一。
为Custom1Settings
和Manager
定义一个绑定,它会自动注入
所以
kernel.Bind<IManager>().To<Manager>();
kernel.Bind<ICustom1Settings>().To<Custom1Settings>();
kernel.Bind<IManager>().To<Manager>().Named("Registration").WithConstructorArgument("settings", new Custom1Settings());
kernel.Bind<IHandler>().To<Handler>().WithConstructorArgument("manager", ctx => ctx.Kernel.Get<IManager>("Registration"));