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

GetDeclaredSymbol为空

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

    我在用Roslyn解析一个解决方案,我试图调用

    var symbol = model.GetDeclaredSymbol(node);
    

    变量节点设置为公共方法,但GetDeclaredSymbol始终返回空值。我设置了诊断,没有发现错误,只有几个警告。

    1 回复  |  直到 6 年前
        1
  •  0
  •   doorman    6 年前

    问题是我使用的是InvocationExpressionSyntax而不是MethodDeclarationSyntax。我得到一个返回符号的节点。

      var nodes = methodInvocation.DescendantNodes().OfType<MethodDeclarationSyntax>()
                        .Where(x =>
                        {
                            return x.Identifier.Value == methodName;
                        });