Это специфицируется c для Unity DI.
Кажется, распространено мнение, что если большинству вашего класса требуется определенная зависимость, вы должны использовать инжектор конструктора. Если зависимость требуется только в подмножестве вариантов использования для класса, то вы должны использовать внедрение свойства (или, возможно, внедрение метода). Я предположил, что это потому, что последние два не разрешают объект до тех пор, пока на них не ссылаются, но по моему опыту все три из них разрешают зависимости от создания объекта, так в чем же смысл использовать один над другим?
Кроме того, в документации Unity по отложению создания объекта упоминаются только обобщенные типы Lazy <> и Fun c <>.
- Есть ли способ настроить свойство и / или внедрение метода для отсрочки разрешения?
- Если нет, существуют ли разные методы, позволяющие просто стилизовать c предпочтения?