Как получить доступ к синтаксическому дереву, созданному в другом файле в генераторе исходного кода C#? ⇐ C#
-
Anonymous
Как получить доступ к синтаксическому дереву, созданному в другом файле в генераторе исходного кода C#?
Я пишу генератор исходного кода на C#. Сначала я получаю нужный мне класс, который нахожу с помощью атрибута. Затем мне нужно найти класс, который находится в другом файле. Но я не могу его найти.
Мой код слишком длинный, чтобы его можно было разместить здесь, но я пытаюсь это сделать следующим образом:
services = classDeclarationSyntax.SyntaxTree.GetRoot().DescendantNodes() .OfType() .Where(n => n.Identifier.Text.Contains("Сервис")).ToList(); Очевидно, я ищу классы, заканчивающиеся на Service. Если я помещу классы в один файл, все будет работать нормально, но их разделение приведет к поломке. Я думаю, что он создает отдельные синтаксические деревья для каждого файла, поэтому получить корневой узел не получится.
Есть идеи, как решить эту проблему?
Я пишу генератор исходного кода на C#. Сначала я получаю нужный мне класс, который нахожу с помощью атрибута. Затем мне нужно найти класс, который находится в другом файле. Но я не могу его найти.
Мой код слишком длинный, чтобы его можно было разместить здесь, но я пытаюсь это сделать следующим образом:
services = classDeclarationSyntax.SyntaxTree.GetRoot().DescendantNodes() .OfType() .Where(n => n.Identifier.Text.Contains("Сервис")).ToList(); Очевидно, я ищу классы, заканчивающиеся на Service. Если я помещу классы в один файл, все будет работать нормально, но их разделение приведет к поломке. Я думаю, что он создает отдельные синтаксические деревья для каждого файла, поэтому получить корневой узел не получится.
Есть идеи, как решить эту проблему?
Мобильная версия