为什么 C# 编译器会抱怨 pragma 警告 660 和 661
- "FooClass" 定义 operator == 或 operator != 但不覆盖 Object.Equals(object o)
- "FooClass" 定义 operator == 或 operator != 但不覆盖 Object.GetHashCode()
添加其他运算符时,例如:
public static bool operator ==(FooClass foo, string fooId)
我没有具体说明
public static bool operator ==(FooClass foo, FooClass foo2)
这对覆盖 Object.Equals 和 GetHashCode 是有意义的。
这只是编译器中的一个限制,它没有正确检查运算符中指定的参数吗?