Разрешить все, не используя имена - PullRequest
3 голосов
/ 16 декабря 2010

Я получил интерфейс под названием IStartable, который реализован несколькими бетонами.Все они зарегистрированы на UnityContainer с использованием RegisterType без имени.

Я пытаюсь достичь:

_container.ResolveAll<IStartable>().ForEach(startable => startable.Start());
//application lifetime
_container.ResolveAll<IStartable>().ForEach(startable => startable.Stop());

Как мне добиться этого, не называя все регистрации?

1 Ответ

5 голосов
/ 16 декабря 2010

Насколько мне известно, вы не можете. Вам нужно назвать все регистрации.

Действительно, см. здесь :

5: если вы хотите создать более одной регистрации, используя одну и ту же зарегистрированную типа, вы можете создать именованный (не по умолчанию) регистрация указав имя в качестве параметра [...]

...