Почему операторы присваивания (+ =, - =, * =,/=) не перегружаются в VB.NET?Почему операторы присваивания не перегружаются в VB.NET?
ответ
Возможно this их рассуждения:
Спасибо за предложение! Мы не разрешаем вам перегружать оператор присваивания для типа, потому что в настоящее время нет способа гарантировать, что другие языки или сама .NET Framework будут выполнять оператор присваивания. Единственная альтернатива заключается в том, чтобы ограничить типы , которые могут перегрузить оператор присваивания, но мы чувствовали, что это было бы слишком ограничительным, чтобы быть в целом полезным.
Спасибо! Paul Vick технический руководитель, В. Б.
Там что-то называется «Сужение» и «Расширяя», который позволяет определить явные и неявные конвертеров от одного типа к другому, т.е.
Dim y as MyClass1
Dim x as MyClass2 = y
Но это не пусть изменить оператор присваивания для назначения экземпляра того же класса, только преобразование других классов.
См How to: Define a Conversion Operator
Class MyClass1
Public Shared Widening Operator CType(ByVal p1 As MyClass1) As MyClass2
End Operator
End Class
+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
Операторы присваивания не могут быть перегружены, но + =, например, вычисляется с помощью +, которые могут быть перегружены ,
=, ., ?:, ??, ->, =>, f(x), as, checked, unchecked, default, delegate, is, new, sizeof, typeof
Эти операторы не могут быть перегружены.
С той же conversion operators:
struct MyType1
{
...
public static explicit operator MyType1(MyType2 src) //explicit conversion operator
{
return new MyType1 { guts = src.guts };
}
}
Билет закрыт как «Не исправит» в 2004 году - rofl. Здесь мы надеемся, что они с тех пор пересмотрели предложение. – Alain
Не так ли? http://stackoverflow.com/questions/292676/is-there-a-workaround-for-overloading-the-assignment-operator-in-c – Alain
C# не поддерживает перегрузки операторов: http://msdn.microsoft. ком/EN-US/библиотека/8edha89s.aspx.Обходной способ ish - перегрузить оператор '+', поскольку + = использует его, но вы все равно не можете перегружать '='. – Alain
- 1. Операторы присваивания и равенства Операторы
- 2. Почему операторы присваивания возвращают значение?
- 3. Операторы присваивания, почему результат -3?
- 4. Операторы присваивания в java
- 5. Почему операторы присваивания (=) недействительны в цикле foreach?
- 6. Операторы присваивания Ruby
- 7. Операторы присваивания строки Javascript
- 8. Операторы и операторы присваивания - возвращаемые значения
- 9. Почему операторы присваивания оператора не безопасны в java?
- 10. Операторы присваивания C++ Beginner
- 11. Операторы неявного присваивания [C++]
- 12. Выражение присваивания в VB.Net
- 13. Логические операторы присваивания в C#
- 14. Операторы присваивания Javascript с преобразованием
- 15. Почему перегруженные составные операторы присваивания являются функциями, не являющимися членами?
- 16. Рубин операторы присваивания мин макс
- 17. Javascript или и операторы присваивания
- 18. Конструкторы копирования и присваивания Операторы
- 19. поэтому операторы присваивания возвращают ноны логического значения
- 20. Экзистенциальные операторы условного присваивания в Coffeescript
- 21. Юридические операторы присваивания массива в C
- 22. Вложенные операторы присваивания и побочные эффекты
- 23. Почему существуют операторы присваивания (& =, + =), но без операторов присваивания (&, +) для коротких примитивов?
- 24. Приоритет операторов присваивания и условные операторы
- 25. Операции смешивания и составные операторы присваивания - Приоритет?
- 26. Операторы присваивания не перегружены при вызове указателей базового класса?
- 27. Возможны ли операторы присваивания C++ свободными функциями?
- 28. Когда операторы присваивания внутри скобки в выражении, вычисленном в c?
- 29. Почему операторы не работают
- 30. Старшинство оценки и операторы присваивания в PRINTF параметров
@ Mr.Disappointment - Да, нашел, что я. Не могли бы вы указать, где в этой статье говорится, почему операторы присваивания не являются перегружаемыми? – user1351569
@ Mr.Disappointment - Думал, возможно, вы прочитали что-то, что я пропустил. – user1351569
Добавил некоторые вещи о неявных/явных конвертерах, которые могли бы помочь с тем, что вы, возможно, пытаетесь сделать. – Alain