是否有可能找出两个表达式是否相同?
例如,给出以下四个表达式:
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
。)
我猜至少 Expression 类没有重写 equals 方法成为 Equatable?那么你会怎么做呢?或者我有点要求过高了?:p
MemberInfo
,也就是某个方法、属性或字段,那么你可以先获取该成员信息,然后计算它的哈希值。 - nawfal