Информация об изменениях

Сообщение Re[3]: По поводу туплов от 08.02.2017 5:33

Изменено 08.02.2017 9:20 Sinix

Re[3]: По поводу туплов
Здравствуйте, VladD2, Вы писали:

VD>И вот после 10 лет дизайна нам объявляют, что проблема решена, но оказывается, что исходная проблема присутствует вершении.


Ну а варианты-то какие? struct equality CLR у нас не поддерживает, получаем или текущий вариант, или поведение вида "поменял имя, не перекомпилировал зависимые сборки, всё работает, хотя не должно", или отдельные типы для каждого возвращаемого результата.

Для второго есть предупреждения в виде рослиновских анализаторов —
IDE0032 и CS8123 (официального списка нет вроде, вот тут глянуть можно).

Для третьего (и самого правильного, как по мне) — ждём рекорды.

Вообще, нынешний релиз — рекордсмен по спорным решениям. Тюплы, private methods, видимость out var-переменных, куча "внезапно легального" кода из-за ref return — я такого количества WTF moments с первого шарпа не припомню.
Re[3]: По поводу туплов
Здравствуйте, VladD2, Вы писали:

VD>И вот после 10 лет дизайна нам объявляют, что проблема решена, но оказывается, что исходная проблема присутствует вершении.


Ну а варианты-то какие? struct equality CLR у нас не поддерживает, получаем или текущий вариант, или поведение вида "поменял имя, не перекомпилировал зависимые сборки, всё работает, хотя не должно", или отдельные типы для каждого возвращаемого результата.

Для второго есть предупреждения в виде рослиновских анализаторов —
IDE0032 и CS8123 (issue + то, что есть по факту).

Для третьего (и самого правильного, как по мне) — ждём рекорды.

Вообще, нынешний релиз — рекордсмен по спорным решениям. Тюплы, private methods, видимость out var-переменных, куча "внезапно легального" кода из-за ref return — я такого количества WTF moments с первого шарпа не припомню.