Как мне построить дерево выражений для string.IndexOf ("substring", StringComparison.OrdinalIgnoreCase)
?
Я могу заставить его работать без второго аргумента: StringComparison .OrdinalIgnoreCase
. Вот мои попытки:
var methodCall = typeof (string).GetMethod("IndexOf", new[] {typeof (string)});
Expression[] parms = new Expression[]{right, Expression.Constant("StringComparison.OrdinalIgnoreCase", typeof (Enum))};
var exp = Expression.Call(left, methodCall, parms);
return exp;
Также пробовал:
var methodCall = typeof (string).GetMethod(method, new[] {typeof (string)});
Expression[] parms = new Expression[]{right, Expression.Parameter(typeof(Enum) , "StringComparison.OrdinalIgnoreCase")};
var exp = Expression.Call(left, methodCall, parms);
return exp;
Пожалуйста, помните, что я могу заставить его работать, если проигнорирую параметр OrdinalIgnoreCase
.
Спасибо