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
의, GetFactors
이 a
및 b
을 포함하는 IEnumerable<object>
을 반환합니다.
예 2
Expression<Func<int>> expression =() => obj1 != obj2 ? a + b : c + d;
GetFactors
는 IEnumerable<object>
가 obj1
, obj2
, a
, b
, c
및 d
함유 반환.
기본적으로 모든 끝점 (잎) 또는 죽은 코드를 감지하고 싶습니까? –
@HenkHolterman : 죽은 코드는 신경 쓰지 않습니다. 나는 모든 나뭇잎, 죽은 코드를 찾고 있습니다. 트리에있는 모든 표현식의 모든 피연산자에 관심이 있다고 말하는 것이 맞을 것이라고 생각합니다. – Verax