代码之家  ›  专栏  ›  技术社区  ›  doorman

使用Roslyn获取公共功能

  •  0
  • doorman  · 技术社区  · 6 年前

    var tree = file.GetSyntaxTreeAsync().Result;
    var methodDeclarations = tree.GetRoot().DescendantNodes().OfType<MethodDeclarationSyntax>().ToList();
    

    我怎么才能只参加公共活动呢?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Guillaume CR    6 年前

    如果要在文件中查找标记为public的方法,可以使用MethodDeclarationSyntax对象的Modifiers属性,如下所示:

            var publicMethods = root.DescendantNodes()
                .OfType<MethodDeclarationSyntax>()
                .Where(method =>
                    method.Modifiers.Where(modifier =>
                        modifier.Kind() == SyntaxKind.PublicKeyword)
                    .Any());