Jak skonstruować drzewo wyrażeń dla string.IndexOf("substring", StringComparison.OrdinalIgnoreCase)
?Drzewo wyrażeń dla metody String.IndexOf
Mogę go uruchomić bez drugiego argumentu: StringComparison.OrdinalIgnoreCase
. Są to moje próby do tej pory:
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;
próbował Również w tym:
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;
Proszę pamiętać, że mogę dostać pracy, jeśli pominąć parametr OrdinalIgnoreCase
.
Dzięki
Jak zawsze, gdy masz problemy, powinieneś powiedzieć, co jest nie tak z tym, co próbujesz - czy otrzymujesz wyjątek, błąd podczas kompilacji, po prostu złe zachowanie? Jeśli jest to błąd, jaki jest błąd? –
Przepraszamy. Będę o tym pamiętać następnym razem, gdy zadaję pytania. Otrzymałem wyjątek ArgumentException. – ashokgelal
Powinna pomóc: [jak-i-utworzyć-wyrażenie-drzewo-do-reprezentacji-string-zawieraćsterm-in] (http://stackoverflow.com/questions/278684/how-do-i-create- an-expression-tree-to-represent-string-containsterm-in-c) – nawfal