C#语法分析:获取类型成员

时间:2018-11-28 16:01:50

标签: c# syntax abstract-syntax-tree codedom

我想分析一个用C#编写的项目。 我需要获取所有名称为“ ClassFoo”的类,该类的方法为“ MethodFoo”,参数类型为“ int”。

使用伪代码:

var slnFiles = new List<string>{"File1.cs","File2.cs"};
var codeDom = new CodeDomProvider(slnFiles);
foreach(domTree in codeDom)
{
    var types = domTree.GetTypes().Where(x=>x.Name.Contains("ClassFoo"));
    foreach(t in types)
    {
         t.GetMembers().Where( x=>x.IsMethod() && x.Name =="MethodFoo" x.Parameters.Contains(y=>y.Type.Name == "int"))
    }

}

我已经阅读了有关'CodeDom'的信息,但是当我需要分析它时,我发现了加载和编译文件的唯一方法。 另外,我的目标可以借助反射来实现,但是我正在寻找一种无需编译即可分析C#文件的方法。

0 个答案:

没有答案