So erstellen Sie eine Ausdrucksbaumstruktur, die mit "StartsWith" übereinstimmt

7

Gegenwärtig habe ich diese Methode, um zwei Zahlen zu vergleichen

%Vor%

Es funktioniert gut und wird auf diese Weise konsumiert

%Vor%

Wie Sie sehen, gebe ich ihm eine IQueryable-Sammlung und fügt eine Where-Klausel hinzu, die auf einer Eigenschaft und einem Wert basiert. Y kann Lessthan, LessOrEqualThan usw. Entsprechungen konstruieren, da System.Linq.Expressions.Expression diese Operatoren vordefiniert hat.

¿Wie kann ich diesen Code so umwandeln, dass er dasselbe mit Strings macht? System.Linq.Expressions.Expression gibt mir keinen vordefinierten Operator wie "contains" oder "startwith" und ich bin wirklich nicht mit Expression-Bäumen.

Danke, und bitte posten Sie Ihre Antwort in C # / VB. Wählen Sie diejenige, bei der Sie sich wohler fühlen.

    
Jonathan 29.12.2010, 11:51
quelle

2 Antworten

17
%Vor%     
Tom Brothers 29.12.2010, 13:27
quelle
4

Es ist kein Operator, sondern eine Methode, also können Sie es mit Expression.Call () aufrufen, wobei der Parameter methodinfo typeof (string) .GetMethod ("StartsWith") ist.

    
fejesjoco 29.12.2010 12:17
quelle