我正在尝试使用 SyntaxFactory 生成代码但卡在转换一个区域
这个想法是有两个变量 removeExpression 和 getExpression 是 ExpressionSyntax 类型,最后两者都将被用来成为匿名函数的主体。
ExpressionSyntax removeExpression = SyntaxGenerator.MethodInvokeExpression(
valueExpression,
"RemoveAt",
BinaryExpression(
SyntaxKind.SubtractExpression,
SyntaxGenerator.PropertyAccessExpression(valueExpression, nameof(Enumerable.Count)),
atExpression
)
);
ExpressionSyntax getExpression = SyntaxGenerator.MethodInvokeExpression(valueExpression, nameof(Enumerable.First));
// 帮助我使用 SyntaxFactory 转换下面的行。
IdentifierName("((Func<dynamic>)(() => { var res = " + getExpression.ToString() + ";" +
removeExpression.ToString() + "; return res" + " ; }))(); ");