Я пытаюсь сгенерировать код с использованием 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" + " ; }))(); ");