Вы должны внедрить зависимые услуги в ваш класс или метод. Если вы думали о каком-то глобальном объекте, к которому вы могли бы обращаться везде, то это неправильный путь (и вы не можете получить доступ к контейнеру таким образом). Вы пропустите весь смысл внедрения зависимости.
Вы можете добавить услуги в ваш класс двумя способами:
- вручную
- Пусть DIC сделает это
Первое решение требует, чтобы вы самостоятельно передали зависимость (конструктор, установщик, метод).
Более позднее решение означает, что вы определяете свой класс как сервис и позволяете контейнеру создавать его и внедрять зависимости. Это можно сделать, только если вы можете делегировать создание объекта в DIC. Это не может быть сделано с сущностями, например.
Будьте осторожны с введением всего контейнера. Это не лучшая практика. Вы вводите зависимость от целого контейнера, который может иметь разные службы в зависимости от конфигурации. Зависимости не будут ясны.