我正在尝试使用以下代码解析simple.cs源文件:
CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
var compileUnit = provider.Parse(File.OpenText(filename));
这给了我一个NotImplementedException:
“此CodeDomProvider不支持此方法”
.NET不提供解析C#代码的实现吗? 或者我只是以错误的方式使用这门课程?
编辑:这样做的原因是我想玩一些静态代码分析方法。我的研究不需要编译或执行代码。
答案 0 :(得分:9)
是的,这是真的,CodeDomProvider
用于发出源代码,而不是读取它。各公司都有自己的解析器,最近Microsoft启动了提供此类功能的项目Roslyn。