Lambda 式の戻り値の型を調べる必要があるアナライザーがあります。
VS Syntax Visualizer で、a を右クリックして[シンボルの表示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!
}