我想确定代码更改对我的类中的Equals()重写会对代码产生的影响。
public override bool Equals(object obj)
{
// My code to be changed
return true;
}
当我执行Shift-F12查找所有引用时,Visual Studio返回126,703个我调用object.Equals()的位置。
有没有办法在查找引用时跳过Equals()方法的覆盖?
答案 0 :(得分:5)
由于Equals
方法是在object
级别定义的,因此您的类的对象可以很容易地传递给调用Equals
的方法,只知道它是object
{1}}。
例如,如果您将对象添加到HashSet,或者在包含对象的集合上调用.Distinct()
,那么您将间接调用Equals
。
查找覆盖Equals
的所有地方影响的唯一方法是找到您所使用的课程的所有地点,并查看该课程的用途。