Я ищу способ сделать что-то подобное с 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
AFAIK нет способа сделать это непосредственно в Ninject, но вместо этого вы можете использовать Contextual Binding .