Проблемы с перегрузкой оператора C# +=C#

Место общения программистов C#
Anonymous
Проблемы с перегрузкой оператора C# +=

Сообщение Anonymous »

Я пытаюсь перегрузить оператор += .. конечно, это невозможно с помощью кода, но если меня не обманули документы, однажды я перегрузил оператор +, += оператор будет неявно перегружен.

Код: Выделить всё

public class Register {
private byte data;

public Register(byte value = 0x00) { data = value; }

public Register(Register value)
{
data = value.data;
}

public static byte operator +(Register lvalue, byte rvalue)
{
return (byte)(lvalue.data + rvalue);
}

public static byte operator +(byte lvalue, Register rvalue)
{
return (byte)(lvalue + rvalue.data);
}

public static implicit operator byte(Register value) => value.data;
}
Я пробовал использовать множество других операторов, и результат более или менее тот же. Компилятор жалуется (вместо компиляции) на отсутствие явного приведения.
Ошибка:

Ошибка компиляции (строка 140, столбец 3): невозможно неявно преобразовать тип
'byte' в 'Register'. Существует явное преобразование (вам не хватает
приведения?)

Скрипт класса

Подробнее здесь: https://stackoverflow.com/questions/787 ... ing-issues

Вернуться в «C#»