string.IndexOf("substring", StringComparison.OrdinalIgnoreCase)
の式ツリーをどのように構築すればよいですか?String.IndexOfメソッドの式ツリー
第2引数なしで、私はそれを働かせることができます: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;
もこれを試してみました:私はOrdinalIgnoreCase
パラメータを無視した場合
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;
私はそれが働いて得ることができることを覚えておいてください。
ありがとうございました
これまでどおり、問題が発生したときに何がうまくいかないのかを教えてください。例外、コンパイル時のエラー、間違った動作などがありますか?何らかのエラーが発生した場合、エラーは何ですか? –
申し訳ありません。次回は質問をするときにそれを覚えておきます。私はArgumentExceptionを取得していました。 – ashokgelal
助けてください:[どのように私を作成する - 表現 - ツリーを表現するために文字列を含む](http://stackoverflow.com/questions/278684/how-do-i-create- a-expression-tree-to-represent-string-containsterm-in-c) – nawfal