Если вам нужна возможность анализа и выполнения произвольного анализа и преобразования исходного кода C # (или множества других языков), ознакомьтесь с нашим Набором реинжиниринга программного обеспечения DMS .
DMS имеет полный интерфейс C #, создает полные абстрактные синтаксические деревья для анализируемого кода (но не CodeDom), предоставляет полный процедурный API для обхода / проверки / изменения AST. После пересмотра дерева DMS может восстановить исходный код, соответствующий измененному дереву, либо в режиме точности, где он пытается сохранить исходный интервал, либо в режиме prettyprint, где применяется стиль prettyprint, которым вы можете полностью управлять. Комментарии правильно сохраняются в восстановленном источнике.
Кроме того, DMS обеспечивает сопоставление и преобразование шаблонов на уровне источника (например, вы можете написать «x = x + 1 ==> x ++» вместо того, чтобы кодировать все обходное дерево для проверки, взломать дерево чтобы изменить.) См. описание программных преобразований , чтобы понять, почему это гораздо меньше работы ..