Инъекция зависимостей / конструкторов DI/CI, как узнать, какие объекты доступны?

При написании кода (C#, Visual Studio 2019), есть ли какой-нибудь способ сказать, какие в настоящее время доступны варианты внедрения для вашего конструктора? Intellisense, кажется, не может помочь, я обычно сталкиваюсь с примерами, чтобы выяснить, что я могу просить, но должен быть лучший способ увидеть, какие объекты предоставляются?

1 ответ

Существует множество реализаций DI, и я думаю, что некоторые из них пытались улучшить ситуацию в этой области, но в общем случае нет способа сделать это.

Эта проблема широко рассматривается как один из основных недостатков внедрения зависимостей - уровень косвенности и тот факт, что вещи не подключены до времени выполнения, что может усложнить понимание того, какие классы используются и какой код фактически выполняется, когда программа пробеги.

Постарайтесь как можно ближе познакомиться с корнем композиции вашего приложения и свободно использовать отладчик, чтобы выяснить, как все устроено во время выполнения.

Другие вопросы по тегам