Open impworks opened 10 years ago
Вариант с сокращенным присваиванием не годится: непонятно, как отличать x
от x.Get ()
- например, при передаче в функцию. Так что оставляет только короткую запись с авто-лямбдами, а методы Get
и Set
оставляем как есть.
Нужно другое ключевое слово вместо refto
- оно слишком близко к ref
.
Кстати говоря, в Scala эта концепция называется Lens :)
Бывают моменты, когда хочется передать свойство по ссылке, и компилятор логично не дает этого сделать. Или же, нужно написать код наподобие этого:
Для решения обоих вопросов можно было бы добавить стандартный тип, например
Ref<T>
, хранящий геттер и сеттер с помощью замыканий.Например, следующий код:
Транслировался бы в: