Это действительно?
public struct MyStruct
{
public int Foo { get; set; }
public static bool operator ==(MyStruct a, MyStruct b)
{
return a.Equals(b);
}
public static bool operator !=(MyStruct a, MyStruct b)
{
return !a.Equals(b);
}
}
(я знаю, что это немного неэффективно, потому что Object.Equals по умолчанию использует отражение для типов значений. Но так ли это?)
Я спрашиваю, потому что ReSharper выделяет это и предупреждает, что MyStruct defines operator '==' or operator '!=' but does not provide 'Object.Equals(object o)' and 'Object.GetHashCode()'
.