Контекстная привязка Autofac против Ninject?

1) Autofac и Ninject, что лучше в контекстной привязке?

2) С помощью Ninject я могу привязываться к типам в определенном пространстве имен:

Bind<A>().To<B>().When(context => 
    context.ParentContext.Binding.Service.Namespace == "MyProject.Common");

Могу ли я сделать это с Autofac?

Спасибо!

(Извините за мой английский)


person Community    schedule 30.01.2011    source источник


Ответы (1)


Из двух только Ninject предоставляет эту функциональность.

Это полезная функция, но Autofac исключает ее, чтобы предотвратить нестабильность в других функциях Autofac, которые полагаются на то, что зависимость не знает о зависимом компоненте.

Если у вас есть сценарий, который выиграет от такого поведения в Autofac, не стесняйтесь публиковать его, и я попытаюсь перевести его в способ работы Autofac :)

Надеюсь, это поможет, Ник

person Nicholas Blumhardt    schedule 30.01.2011
comment
Привет, мне нужно внедрить DispatcherNotifiedObservableCollection во (и только во) все ViewModels (расположенные в MyProject.ViewModels) как ObservableCollection. Любые обходные пути? Спасибо. - person ; 30.01.2011
comment
Определенно - здесь не так много места, не могли бы вы создать отдельный вопрос? Спасибо! - person Nicholas Blumhardt; 30.01.2011
comment
Спасибо, я создал новый вопрос здесь: stackoverflow.com/questions/4846168/ - person ; 31.01.2011