为什么我不能获得Lambda表达式的返回类型?

时间:2015-12-03 20:15:35

标签: c# roslyn roslyn-code-analysis

我有一个分析器需要检查Lambda表达式的返回类型。

在VS语法展示台中,我可以右键单击ParenthesizedLambdaExpression并单击显示符号,然后查看正确的返回类型。

我尝试在代码中复制它,如下所示:

var methodSymbol = context.SemanticModel.GetSymbolInfo(
    lambda,
    context.CancellationToken).Symbol as IMethodSymbol;

if (methodSymbol == null)
{
    return;
}

if (methodSymbol.ReturnType != null)
{
    // Never get here! But methodSymbol.IsVoid == false!
}

0 个答案:

没有答案