Coincé avec BinaryExpression en C #

c# expression-trees

Question

Je veux mettre en œuvre

Expression<Func<int, int, int>> Max = (p1,p2) => p1 > p2 ? p1:p2;

comme un arbre d'expression et essayé

Expression<Func<int, int, int>> Max = (p1,p2) => p1 > p2 ? p1:p2;

Avec Cond, j'obtiens soit vrai / faux, mais pas le LeftEx ou le RightEx, cette condition doit être renvoyée.

Je n'ai rien trouvé dans la documentation.

peter

Réponse d'expert

Je pense que vous avez juste besoin de:

Expression<Func<int, int, int>> Lam =
    Expression.Lambda<Func<int, int, int>>(Cond, // <=== HERE
        new ParameterExpression[] { LeftEx, RightEx });

edit - btw - var est votre ami ici:

Expression<Func<int, int, int>> Lam =
    Expression.Lambda<Func<int, int, int>>(Cond, // <=== HERE
        new ParameterExpression[] { LeftEx, RightEx });



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi