Простое решение для прямых зависимостей, щелкните правой кнопкой мыши интерфейс и выберите «Найти все ссылки». Вы также можете сделать это для каждого метода.
Чтобы узнать, сколько кода сломается в результате изменения, вы можете добавить [Устаревший (true, "Проверка изменения")] к методам интерфейса, который вы планируете изменить и вызвать восстановление. Это приведет к тому, что некоторые части не будут строиться.
Перейдите к этим частям и пометьте их [Устаревшее (ложное, «Ограниченное изменение»)]], если вы чувствуете, что это небольшое изменение в этом классе и что вы можете исправить это без какого-либо влияния на потребителей этого класса, если вы считаете, что вместо этого будет вызывать серьезные проблемы у потребителей класса, вы можете пометить его как [устаревший (true, "каскад")] и иметь дело с его выпадением.
В конечном итоге ваше решение будет полностью построено, или у вас будет так много ошибок, что станет очевидным, что изменение настолько инвазивно, что единственный способ по-настоящему разобраться с эффектом - это начать пытаться по-настоящему.
Преимущество этого подхода состоит в том, что вы можете выполнить каскад без необходимости иметь дело с как вы справляетесь с ним, просто вам нужно и грубая оценка того, вызовет ли он последующие изменения. После того, как вы довольны, вы наметили изменения, у вас есть готовый список предупреждений в вашей IDE, которые можно изменить и изменить, как только вы измените интерфейс (и сборка действительно не удалась).
Это основано на том, что предупреждения не рассматриваются как ошибки, возможно, вам придется временно ослабить настройки сборки.
Сделайте все это в свежем обновлении исходного кода, чтобы вы могли просто откатить детали, если хотите повторить попытку.