Проблемы с перегрузкой оператора 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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