解析C#源代码

时间:2014-09-29 05:51:31

标签: c# codedom

我正在尝试使用以下代码解析simple.cs源文件:

CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
var compileUnit = provider.Parse(File.OpenText(filename));

这给了我一个NotImplementedException:

  

“此CodeDomProvider不支持此方法”

.NET不提供解析C#代码的实现吗? 或者我只是以错误的方式使用这门课程?

编辑:这样做的原因是我想玩一些静态代码分析方法。我的研究不需要编译或执行代码。

1 个答案:

答案 0 :(得分:9)

是的,这是真的,CodeDomProvider用于发出源代码,而不是读取它。各公司都有自己的解析器,最近Microsoft启动了提供此类功能的项目Roslyn