Есть ли способ намекнуть, какой конструктор должен использовать Unity? - PullRequest
1 голос
/ 11 октября 2011

Unity InjectionConstructor хорошо работает, когда вам нужно вызвать конкретный конструктор, потому что вы имеете в виду очень специфические зависимости (например, любое сочетание внешних зависимостей, именованных регистраций или неназванных регистраций), но это требует все параметры должны быть указаны.

Есть ли какой-нибудь способ дополнить Unity "найти и использовать конструктор с наибольшим количеством параметров" с помощью "найти и использовать конструктор с наибольшим количеством параметров, которые также может принять экземпляр IX где-то в подписи "?

1 Ответ

1 голос
/ 11 октября 2011

Комментарий Марка послужил основой для ответа.А именно, реализация AddPolicies

  • должна найти конструктор, который соответствует всем значениям (явным образом), которые я передаю в конструктор InjectionConstructor.Существуют ограничения (например, если значения равны нулю или они сопоставлены с супертипом в конструкторе), и
  • для остальных (неявных), используйте контейнер для их разрешения.

Я не говорю, что это хорошо, хотя.В конечном итоге я использовал RegisterInstance в другом месте, и необходимость в смешанных параметрах исчезла.Но это решение для тех, кому это может понадобиться.

...