Инструменты для обнаружения круговых зависимостей при инъекции зависимостей в Visual Studio - программирование

Инструменты для обнаружения круговых зависимостей при инъекции зависимостей в Visual Studio

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

Здесь пример циклической зависимости с вводом конструктора:

public class Class1
{
  public Class1(Class2 test2)
  { ... }
}

public class Class2
{
  public Class2(Class1 test1)
  { ... }
}

Я использую контейнер Unity IoC. Круговая зависимость вызывает бесконечную рекурсию и StackOverflowException, которые должны быть выбраны в конструкторе.

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

Есть ли какие-либо инструменты для Visual Studio для автоматического обнаружения этих зависимостей?

4b9b3361