为什么不按名称解决依赖?

时间:2013-08-05 18:43:40

标签: c# ninject

我有一个命名的依赖项:

kernel.Bind<IManager>().To<Manager>().Named("Registration").WithConstructorArgument("settings", new Custom1SettingsA());
kernel.Bind<IManager>().To<Manager>().Named("Login").WithConstructorArgument("settings", new Custom1SettingsB());

但是,代码不起作用。事实上,代码只是第一个依赖:

kernel.Bind<IHandler>().To<Handler>().WithConstructorArgument("manager", ctx => ctx.Kernel.Get<IManager>("Registration"));

我以另一种方式创建了依赖项,但它非常大:

kernel.Bind<IHandler>().To<Handler>().
    WithConstructorArgument("manager", ctx =>
        ctx.Kernel.Get<IManager>(
            metadata => metadata.Name.Equals("Registration")));

有没有更简单的方法来实现这一目标?

0 个答案:

没有答案