タイプの任意の式が与えられた場合Expression<Func<int>>
、結果に影響を与える可能性があるが、必ずしもそうとは限らないすべてのオブジェクトのリストを取得するにはどうすればよいですか。
私はこのような関数を探しています:
IEnumerable<object> GetFactors(Expression<Func<int>> expression)
{
//return a list of all objects in the expression that affect the result.
}
例1
Expression<Func<int>> expression = () => a + b;
ここでa
、およびb
はint
sであり、含むおよびGetFactors
を返します。IEnumerable<object>
a
b
例2
Expression<Func<int>> expression = () => obj1 != obj2 ? a + b : c + d;
GetFactors
をIEnumerable<object>
含む、、、、、、obj1
およびobj2
を返します。a
b
c
d