Kompilatorvarning (nivå 3) CS0660
"class" definierar operatorn == eller operatorn != men åsidosätter inte Object.Equals(object o)
Kompilatorn identifierade den användardefinierade likhets- eller ojämlikhetsoperatorn, men ingen åsidosättning för Object.Equals metoden. En användardefinierad likhets- eller ojämlikhetsoperator innebär att du också vill åsidosätta Equals metoden. Mer information finns i Definiera värdejämlikhet för en typ.
Följande exempel genererar CS0660:
// CS0660.cs
// compile with: /W:3 /warnaserror
class Test // CS0660
{
public static bool operator == (object o, Test t)
{
return true;
}
// uncomment the Equals function to resolve
// public override bool Equals(object o)
// {
// return true;
// }
public override int GetHashCode()
{
return 0;
}
public static void Main()
{
}
}
Samarbeta med oss på GitHub
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.