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

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie konvertiere ich einen Func in einen Ausdruck? [Duplikat]

Post 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.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post