Поиск всех объектов, на которых выполняется метод X

#c# #visual-studio #code-analysis

#c# #visual-studio #анализ кода

Вопрос:

Давайте предположим, что в моем решении много таких блоков кода:

 switch (Key)
{
    case "A":
        displayName = "Title1";
        break;
    case "B":
        displayName = "Title2";
        break;
    case "C":
        displayName = "Title3";
        break;

    default:
        throw new NotSupportedException();
}
displayName = displayName.X();
  

Есть ли возможность получить все строки в коде, для которых метод X может быть выполнен?

Комментарии:

1. Вы можете использовать Resharper для определения всех вариантов использования метода X в вашем коде.

2. Вопрос заключается в «битном» vauge. Вам не нужен Resharper для поиска всех ссылок на метод, в Visual Studio это уже есть. Ответ здесь был бы displayName . Однако, если вы хотите найти строковые литералы , вам придется написать свой собственный анализатор, который отслеживал ссылки и присваивания переменным, пока не нашел строковый литерал. Для этого вам, вероятно, придется написать свой собственный анализатор кода с помощью Roslyn. Я сомневаюсь, что какой-либо инструмент будет иметь такой специализированный анализатор.

3. Спасибо @PanagiotisKanavos , похоже, это решение моей проблемы!