Перегрузка оператора C # для `+ =`?

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

Почему?

Изменить

Причина, по которой это не работает, заключается в том, что у меня есть класс Vector (с полями X и Y). Рассмотрим следующий пример.

vector1 += vector2;

Если моя перегрузка оператора установлена ​​на:

public static Vector operator +(Vector left, Vector right)
{
    return new Vector(right.x + left.x, right.y + left.y);
}

Тогда результат не будет добавлен в vector1, а вместо этого vector1 также станет новым вектором по ссылке.

109
задан vaxquis 31 December 2015 в 21:09
поделиться