두 표현식이 같은지 확인할 수 있습니까?Expression <Func <T, bool>> 두 개가 같은지 확인하는 방법
처럼 주어진 다음 네 가지 표현 : 다음
Expression<Func<int, bool>> a = x => false;
Expression<Func<int, bool>> b = x => false;
Expression<Func<int, bool>> c = x => true;
Expression<Func<int, bool>> d = x => x == 5;
, 적어도 우리는 것을 볼 수 있습니다
a == b
a != c
a != d
내 코드에서이를 알아 내기 위해 무엇인가 할 수 있습니까? 지정한 Object가 현재 Object
와 같은지 여부를 확인합니다 :
Equals
는 것을 말한다 MSDN 라이브러리에 슬쩍했다. (Object
에서 상 속됨)
나는 적어도 Expression 클래스가 equals 메서드를 Equatable 메서드보다 우선하지 않는다는 것을 의미한다고 생각합니까? 그러면 어떻게 할 수 있니? 아니면 내가 여기서 너무 많이 묻는거야? : p
거기에 참여하는 'MemberInfo'가 있다면, 나는 필드의 속성을 의미합니다. 그러면 먼저 memberinfo를 얻고 그 해시를 계산할 수 있습니다. – nawfal