我正在寻找一种使用Ninject进行类似操作的方法:

// Sample from the Unity application block
IMyService result = myContainer.Resolve<IMyService>("Data");

(来自http://msdn.microsoft.com/en-us/library/cc440957.aspx)

是否可以?

最佳答案

Ninject 2.0具有此功能:

Bind<IMyService>().To<MyServiceA>().Named("Data");
Bind<IMyService>().To<MyServiceB>().Named("SomethingElse");

kernel.Get<IMyService>("Data"); // will return MyServiceA

关于c# - Ninject : Resolving an object by type _and_ registration name/identifier,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/533260/

10-11 18:54