有沒有一種簡單的方法來確定一個表達式是否包含一個不包含在例如MemberExpression中的ParameterExpression。查找表達式是否包含「孤獨」參數表達式
實施例:
x => x.Method() ? x : null
< = 1 x的occurence而沒有任何進一步的評估x的
x => x.Method() ? x.Property : null
< = 0 OCCURENCES而沒有任何進一步的評估
簡而言之我的使用情況是,我知道方法(沒有參數)和屬性值,並且想知道這是否足以評估表達式而不從存儲中獲取整個「對象」。
編輯: 我的例子可能是簡化。還有更多需要處理的表達式類型(例如UnaryExpression)。
x => ((Cast) x).Property
< = 0 x的出現次數沒有任何進一步的評估
我在尋找的答案,以下問題:
給出的表達式,如果我知道的所有方法的返回值和屬性值輸入參數但不是參數值本身,我可以評估表達式嗎?
什麼版本的.NET您使用的是? –
它的.net 3.5(但我也有一個.net 4版本,我可以使用這個) – lindstromhenrik