C # Синтаксический анализ: получить членов типа - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу проанализировать проект, написанный на 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 # без компиляции.

...