式に、たとえばMemberExpressionでさらにラップされていないParameterExpressionが含まれているかどうかを確認する簡単な方法はありますか?
例:
x => x.Method() ? x : null
<=1回のxの発生(それ以上の評価なし)
x => x.Method() ? x.Property : null
<=0それ以上の評価なしのxの発生
簡単に言えば、私のユースケースは、メソッド(paramsなし)とプロパティ値を知っていて、ストアから「オブジェクト」全体をフェッチせずに式を評価するのにこれで十分かどうかを調べたいというものです。
編集:私の例はおそらく単純化することです。処理する必要のある式タイプは他にもあります(たとえば、UnaryExpression)。
x => ((Cast) x).Property
<=0それ以上の評価なしのxの発生
私は次の質問に対する答えを探しています:
式が与えられた場合、入力パラメーターのすべてのメソッド戻り値とプロパティ値はわかっているが、パラメーター値自体はわかっていない場合、式を評価できますか?