J'essaie de comprendre comment assembler tous les éléments et j'apprécierais un exemple concret de code source pour un cas simple afin de commencer.
Considérons le code C# suivant :
Func<int, int, int> f = (x, y) => x + y;
Je peux produire une fonction équivalente au moment de l'exécution en utilisant des arbres d'expression comme suit :
var x = Expression.Parameter(typeof(int), "x");
var y = Expression.Parameter(typeof(int), "y");
Func<int, int, int> f =
Expression.Lambda<Func<int, int, int>>(
Expression.Add(x, y),
new[] { x, y }
).Compile();
Etant donné le lambda suivant :
Func<dynamic, dynamic, dynamic> f = (x, y) => x + y;
comment générer l'équivalent à l'aide d'arbres d'expression (et, vraisemblablement, Expression.Dynamic
) ?