StartsWith
、
EndsWith
と
Contains
で文字列プロパティをフィルタリングするタイプ
Expression<Func<T, bool>>
の式を作成するタイプ
Expression<Func<T, string>
の発現を渡す方法を作成したい
これらの式のようなメソッド:<機能<T, string>>
public Expression<Func<T, bool>> AddFilterToStringProperty<T>(Expresssion<Func<T, string>> pMyExpression, string pFilter, FilterType pFiltertype)
のfilterType:
.Where(e => e.MiProperty.ToUpper().StartsWith("ABC"));
.Where(e => e.MiProperty.ToUpper().EndsWith("XYZ"));
.Where(e => e.MiProperty.ToUpper().Contains("MNO"));
方法は次のようになります。
public static Expression<Func<T, bool>> AddFilterToStringProperty<T>(
Expression<Func<T, string>> expression, string filter, FilterType type)
{
return Expression.Lambda<Func<T, bool>>(
Expression.Call(
expression.Body,
type.ToString(),
null,
Expression.Constant(filter)),
expression.Parameters);
}
それを行ってください。お試しいただいたことをお知らせください。うまくいかない場合は、お手伝いします。 – drdwilcox