Мне нужно создать документацию для моего кода. Для этого мне нужно извлечь информацию из нескольких сотен классов C#.Извлечь информацию о классе
В основном каждый класс содержит некоторый способ MyMethod
. В этом методе может быть случай switch
с несколькими случаями. Общая структура кода, как этот
MyMethod()
{
..some code..
switch (variable)
case "A":
break;
case "B":
break;
..some other code..
}
Все, что мне нужно, это поиск для случая переключения в MyMethod
и извлечь case
значения.
До сих пор я придумал вариант использования Roslyn или Nrefactory для анализа всех файлов .cs, а затем используя ASTs, загляните в них, чтобы извлечь нужные мне узлы AST.
Но этот подход выглядит несколько странным, так как задача может быть PROBABLY совершенно автоматизирована каким-то другим способом. У меня четкая структура файлов, я точно знаю имя метода, которое мне нужно проверить, и внутри него есть только один оператор switch
. Всегда.
Есть ли другие удобные способы извлечения информации и создания этой документации?
Рослин - ваш друг. Это кажется идеальным для SyntaxWalker: https://joshvarty.wordpress.com/2014/07/26/learn-roslyn-now-part-4-csharpsyntaxwalker/ –