Ninject: разрешение объекта по типу _and_ регистрационное имя / идентификатор - PullRequest
7 голосов
/ 10 февраля 2009

Я ищу способ сделать что-то подобное с Ninject:

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

(из http://msdn.microsoft.com/en-us/library/cc440957.aspx)

Возможно ли это?

Ответы [ 2 ]

18 голосов
/ 05 апреля 2009

Ninject 2.0 имеет такую ​​возможность:

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

kernel.Get<IMyService>("Data"); // will return MyServiceA
0 голосов
/ 10 февраля 2009

AFAIK нет способа сделать это непосредственно в Ninject, но вместо этого вы можете использовать Contextual Binding .

...