Нет библиотеки или функции для анализа кода C # в объектах CodeDOM как части стандартных библиотек .NET. В библиотеках CodeDOM есть несколько методов, которые, похоже, предназначены для этого, но на самом деле ни один из них не реализован. Насколько я знаю, в Visual Studio доступна некоторая реализация (используемая, например, дизайнерами), но она только внутренняя.
CodeSnippetStatement
- это узел CodeDOM, который позволяет поместить любую строку в сгенерированный код. Если вы хотите создать дерево CodeDOM только для генерации исходного кода на C #, то обычно это нормально (генератор исходного кода просто печатает строку на выходе). Если движок WF должен понимать код в вашей строке (а не просто генерировать исходный код и компилировать его), то CodeSnippetStatement
не будет работать.
Однако существуют сторонние инструменты, которые можно использовать для анализа исходного кода C #. В одном проекте, над которым я работал, мы использовали NRefactory Library (которая используется в SharpDevelop), и она работала довольно хорошо. Он дает вам некоторое дерево (AST), представляющее проанализированный код, и я боюсь, что вам нужно будет преобразовать его в соответствующее дерево CodeDOM самостоятельно.