3
給定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
將返回含有obj1
,obj2
,a
,b
,c
,和一個d
IEnumerable<object>
。
那麼基本上所有的端點(葉)還是你也想檢測死代碼? –
@HenkHolterman:我不在乎死碼。我正在尋找所有的葉子,死編碼或不。我認爲說我對樹中所有表達式的所有操作數感興趣是對的。 – Verax