//для функции от одного аргумента public ExpressionNode(ExpressionNode <TKey, TArg> node, Func <TArg, TArg> func) { _execute = () => func(node.Execute()); }
//для функции от двух аргументов public ExpressionNode(ExpressionNode <TKey, TArg> nodeFirstArg, ExpressionNode <TKey, TArg> nodeSecondArg, Func <TArg, TArg, TArg> func) { _execute = () => func(nodeFirstArg.Execute(), nodeSecondArg.Execute()); }
public void Set(ExpressionNode <TKey, TArg> upperNode) { _upperNode = upperNode; }