Page 1 of 1

Wie konvertiere ich einen Func in einen Ausdruck? [Duplikat]

Posted: 21 May 2025, 13:24
by Anonymous
Ich habe Folgendes: < /p>

Code: Select all

public Func GetFilter(Status status) => status switch
{
Status.Active => x => x.Status == Status.Active && x.ValidFrom  x => true
};

public Expression GetFilterAsExpression(Status status) => status switch
{
Status.Active => x => x.Status == Status.Active && x.ValidFrom  x => true
};
Ich verwende die erste Methode in der Standardmethode, wobei Methode. Ich verwende die zweite Methode in einer benutzerdefinierten Erweiterung: < /p>

Code: Select all

public static Expression And(this Expression expr1, Expression expr2)
{
var secondBody = expr2.Body.Replace(expr2.Parameters[0], expr1.Parameters[0]);

return Expression.Lambda(Expression.AndAlso(expr1.Body, secondBody), expr1.Parameters);
}
Ich möchte den Code so neu gestalten, damit ich entweder den Filter in nur einer Methode festlegt und meine Erweiterungsmethode durch eine Standardmethode ersetze.>