2 つの式が同じかどうかを調べることはできますか?
次の 4 つの式が与えられた場合のように:
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