La concaténation de Lambda Fonctions en C#

À l'aide de C# 3.5, je voulais construire un prédicat à envoyer à une clause where, morceau par morceau. J'ai créé un très simple Application Console pour illustrer la solution que j'ai trouvée. Cela fonctionne parfaitement. Absolument parfaitement. Mais je n'ai AUCUNE idée de comment ou pourquoi.

    public static Func<Tran, bool> GetPredicate()
    {
        Func<Tran, bool> predicate = null;
        predicate += t => t.Response == "00";
        predicate += t => t.Amount < 100;
        return predicate;
    }

Quand je dis " prédicat +=', ça veut dire quoi? le prédicat -= semble ne rien faire et ^=, &=, *=, /= ne pas aimé par le compilateur.

Le compilateur n'aime pas 'prédicat = prédicat + t => t.Réponse....' soit.

Que je suis tombé sur? Je sais ce qu'il fait, mais comment fait-il cela?

Si quelqu'un veut aller plonger dans la plus compliquée lambda, veuillez le faire.

InformationsquelleAutor John Oxley | 2009-01-29