是否有可能找出两个表达式是否相同?
就像给定以下四个表达式:
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
但是我可以做些什么来在我的代码中找到这个吗?
看了一眼 msdn 库,上面写着
Equals
: 判断指定的 Object 是否等于当前的Object
. (继承自Object
。)
我猜这意味着至少Expression类没有覆盖equals方法成为Equatable?那么你会怎么做呢?还是我在这里要求太多了?:p