Дерево выражений для метода String.IndexOf

Как мне построить дерево выражений для 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 .

Спасибо

8
задан nawfal 26 April 2013 в 05:04
поделиться