如何在查找所有引用时跳过方法的覆盖

Gre*_*egC 6 c# visual-studio-2010

我想确定代码更改对我的类中的Equals()重写会对代码产生的影响.

  public override bool Equals(object obj)
  {
     // My code to be changed
     return true;
  }
Run Code Online (Sandbox Code Playgroud)

当我执行Shift-F12查找所有引用时,Visual Studio返回126,703个我调用object.Equals()的位置.

有没有办法在查找引用时跳过Equals()方法的覆盖?

Str*_*ior 5

因为该Equals方法是在一个object级别定义的,所以您的类的一个对象可以很容易地传递给一个方法,该方法只需要Equals知道它就知道了object.

例如,如果您将对象添加到HashSet,或者如果您调用.Distinct()包含对象的集合,那么您将间接调用Equals.

查找覆盖Equals将影响的所有位置的唯一方法是找到您的类正在使用的所有位置,并查看使用它做了什么.