Это происходит в фазе, называемой «Композиция».Сначала вы создаете контейнер и загружаете в него все возможные источники деталей, а затем вы Compose
его.Когда вы создаете композицию, она разрешает все зависимости и выдает исключение, если не может разрешить их все должным образом.
Как правило, ваши детали создаются во время композиции (и если вы устанавливаете точку останова вконструктор ваших классов деталей, вы увидите попадание в точку останова во время вашего звонка на Compose()
).Однако вы можете переопределить это простым способом, если вы используете Lazy<T>
в качестве типа импорта (при условии, что вы экспортировали свою деталь как тип T
).
Чтобы увидеть, как работает композиция, сделайтепосмотрите на Compose()
метод здесь .