Ошибка компилятора CS0216
Оператор "оператор" требует, чтобы был также определен соответствующий оператор "пропущенный_оператор"
Для определяемого == пользователем оператора требуется определяемый пользователем оператор != и наоборот.
Это же относится также к определяемого пользователем оператора true и определяемого пользователем ложного оператора.
Следующий пример приводит к возникновению ошибки CS0216:
// CS0216.cs
class MyClass
{
public static bool operator == (MyClass MyIntLeft, MyClass MyIntRight) // CS0216
{
return MyIntLeft == MyIntRight;
}
// to resolve, uncomment the following operator definition
/*
public static bool operator != (MyClass MyIntLeft, MyClass MyIntRight)
{
return MyIntLeft != MyIntRight;
}
*/
public override bool Equals (object obj)
{
return base.Equals (obj);
}
public override int GetHashCode()
{
return base.GetHashCode();
}
public static void Main()
{
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: