Si vous voulez avoir la possibilité d'analyser , et effectuer des analyses arbitraires et des transformations sur le code source C# (ou une variété d'autres langues), consultez notre The DMS Software Reengineering Toolkit. DMS a un frontal C# complet, construit des arborescences syntaxiques abstraites complètes pour le code analysé (mais pas un CodeDom), fournit une API procédurale complète pour marcher/vérifier/changer les AST. Après avoir révisé l'arbre, DMS peut régénérer le code source correspondant à l'arbre modifié, soit en mode fidélité où il essaye de conserver l'espacement d'origine, soit en mode prettyprint où il applique un style prettyprint que vous pouvez contrôler complètement. Les commentaires sont conservés dans la source régénérée correctement. En outre, DMS fournit une correspondance et une transformation de modèle au niveau de la source (par exemple, vous pouvez écrire "x = x + 1 ==> x ++" au lieu de coder tout le walk-around-tree-to-verify, hack le arbre à changer.) Voir writeup on program transformations pour comprendre pourquoi c'est beaucoup moins de travail ..
Mais pourquoi? Est-ce que le compilateur C# n'utilise pas CodeDOM? – ulrichb
Non, ce n'est pas le cas. CodeDom est pour les développeurs d'applications gérées; csc.exe est un code non géré qui n'a pas de dépendances .NET. – bobbymcr