0

我正在尝试使用 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" + " ; }))(); ");

4

0 回答 0