Wie funktioniert PredicateBuilder?

C# in a Nutshell ist eine freie Klasse namens PredicateBuilder die LINQ-Konstrukte Prädikate Stück für Stück verfügbar hier. Hier ist ein Auszug von der Methode, die fügt einen neuen Ausdruck für das Prädikat. Könnte mir jemand das erklären? (Ich habe gesehen,diese Frageich möchte nicht eine Allgemeine Antwort, wie es. Ich bin auf der Suche nach einer bestimmten Erklärung, wie Ausdruck.Aufruf und Ausdruck.Lambda-bauen Sie den neuen Ausdruck).

public static Expression<Func<T, bool>> And<T> (this Expression<Func<T, bool>> expr1,
                                                     Expression<Func<T, bool>> expr2)
{
    var invokedExpr = Expression.Invoke (expr2, expr1.Parameters.Cast<Expression> ());
    return Expression.Lambda<Func<T, bool>>
        (Expression.AndAlso (expr1.Body, invokedExpr), expr1.Parameters);
}

InformationsquelleAutor der Frage just.another.programmer | 2012-07-15

Schreibe einen Kommentar