Создание выражения Linq с StartsWith, EndsWith и Contains с передачей Expression>

Я хочу создать метод, передающий выражение типа Expression для создания выражения типа Expression> для фильтрации строкового свойства с помощью методов StartsWith, EndsWith и Contains, подобных этим выражениям:

.Where(e => e.MiProperty.ToUpper().StartsWith("ABC"));
.Where(e => e.MiProperty.ToUpper().EndsWith("XYZ"));
.Where(e => e.MiProperty.ToUpper().Contains("MNO"));

метод должен выглядеть так:

public Expression<Func<T, bool>> AddFilterToStringProperty<T>(Expresssion<Func<T, string>> pMyExpression, string pFilter, FilterType pFiltertype)

где FilterType - перечислительный тип, который содержит три из упомянутых операций (StartsWith, EndsWith, Contains)

10
задан Johannes Kommer 5 December 2011 в 19:51
поделиться