C#:如何在Visual Studio中查找特定类的equals运算符的引用

时间:2011-09-13 09:02:11

标签: c# visual-studio visual-studio-2010

我想覆盖一个类的.Equals==运算符。我需要检查当前是否在该类的任何地方使用了相等的比较。我该怎么做?

2 个答案:

答案 0 :(得分:14)

在这两种情况下,我都会添加重载/覆盖,然后使用“查找用法”(在Resharper中)或“查看调用层次结构”(Visual Studio本机)。如果出现任何问题,那将是一个变化。

另一种方法(如果两者都不可用)是(在执行此操作时)将[Obsolete]添加到您添加的覆盖/重载方法 - 然后任何开始使用它们的代码(即将对行为进行更改)将显示为警告。

警告:如果override(等于)是已经覆盖Equals的继承链的一部分,请注意引用基类的代码不会出现在任何基类中上面提到的。这包括使用object的代码。

答案 1 :(得分:2)

我认为你可以通过使用Resharper来做到这一点。 Resharper具有“查找用法”功能,非常强大。

您可以覆盖类中的Equals方法,右键单击它,如果已安装R#,请选择“查找高级用法”。

然后,您将获得使用该方法的地方列表。