Przeczytałem sporo artykułów jak się tworzy drzewa wyrażeń, ale nigdzie nie znalazłem odpowiedzi po co, w jakim celu?
Bo co za różnica jak napiszę:
Expression<Func<int, int>> expressionTree = a => a * a;
var result = expressionTree.Compile()(4);
a jak napiszę:
Func<int, int> fun = a => a * a;
var result2 = fun(4);