我犯了一个错误,使用 == 来比较 IP 地址,而不是使用 C# 中 IPAddress 类的 equals() 方法,这将导致比较的是引用而不是值。
由于我目前正在研究的解决方案对于一个人项目来说非常大(> 100.000 行源代码),因此我非常确定我的代码中仍然存在一些错误的语句。
是否有可能告诉 Visual Studio 为我查找特定类上所有出现的 == 操作,以便我可以找到并清理有缺陷的比较?
致以最诚挚的问候, EMI
这有点麻烦,但您可以暂时将此类添加到您的项目中:
namespace System.Net
{
class IPAddress
{
[Obsolete]
public static bool operator ==(IPAddress a, IPAddress b) { return true; }
[Obsolete]
public static bool operator !=(IPAddress a, IPAddress b) { return true; }
}
}
编译并查找有关使用过时方法的警告:
Warning 'IPAddress.operator ==(IPAddress, IPAddress)' is obsolete
修复代码后,删除类定义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)