Я пытаюсь создать общий фильтр для обзоров данных, и я наткнулся на выражения. В этом примере для сравнения используются некоторые выражения:
return Expression.Equal(left, right);
return Expression.GreaterThan(left, right);
return Expression.GreaterThanOrEqual(left, right);
return Expression.LessThan(left, right);
return Expression.LessThanOrEqual(left, right);
return Expression.NotEqual(left, right);
Для дат и целочисленных значений все, что мне нужно, но когда дело касается строк, пользователям понадобятся другие функции фильтрации. Поэтому я хотел бы добавить возможности «содержит и запускает». Но, глядя на «Выражение», это не дает мне такой возможности. Я собирался добавить несколько пользовательских выражений, но я не могу найти ничего, имеющего отношение к этому. Возвращенное выражение используется в этом фрагменте кода:
Expression.Call(typeof (Queryable),"Where",new[] {list.ElementType},list.Expression,Expression.Lambda<Func<T, bool>>(exp, new[] {pe}));
Есть ли у кого-нибудь такой опыт?
Заранее спасибо.