Парсинг модели кода из строки кода C# в памяти
С EnvDTE.ProjectItem
, можно ли проанализировать строку кода C# в памяти, чтобы получить FileCodeModel
?
Я не хочу изменять файл проекта в этом курсе, добавив временный файл в проект, получить его ProjectItem
, делать вещи, а затем удалить файл. Это также предупредит источник контроля, чтобы наблюдать за изменениями.
1 ответ
Просто нет хорошего способа сделать это с CodeModel. Вот почему мы создаем Roslyn, чтобы сделать такую операцию тривиальной - она работает с неизменной моделью, в которой вы можете взять решение, преобразовать его в отдельную копию и выполнить анализ, без всякого изменения оригинала. Есть предварительный просмотр, который вы можете использовать, в зависимости от вашего сценария.