оператор.

жный дубликат:
Простой способ перегрузки составного оператора присваивания в C #?

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

The overloadable unary operators are:    
+   -   !   ~   ++   --   true   false

The overloadable binary operators are:    
+   -   *   /   %   &   |   ^   <<   >>   ==   !=   >   <   >=   <=

+ = не указан. Теперь, прежде чем вы скажете, что нет причин для перегрузки + =, я хотел бы упомянуть тот факт, что в C # есть события, которые используют оператор + =, и тот факт, что я пытался реализовать событие для развлечения и хотел использовать оператор + =. Теперь у меня есть чувство, что кто-то скажет, поэтому существуют события, потому что это единственная причина. Однако я хочу поднять, вы можете использовать + = со структурой TimeSpan. Иди попробуй,var ts= new TimeSpan(); ts += ts; скомпилирует и запустит.

Я посмотрел на определение TimeSpan, и я понятия не имею, как это позволяет. я увиделpublic static TimeSpan operator +(TimeSpan t); который выглядел подозрительно, но потом я понимаю, что-то вродеvar name = +ts; например, как вы можете сделатьvar name = -ts; для отрицания.

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

Ответы на вопрос(4)

Ваш ответ на вопрос