C# 9.0 записывает ToString()
Если я посмотрю в спецификации, там написано
Запись включает синтезированный метод, эквивалентный методу, объявленному следующим образом: публичная переопределенная строка ToString();
однако с использованием sharplab и, как я вижу в моем коде VS16.8.0 Preview 2.1:
record Rec(string S1, string S2);
ToString
не создается автоматически.
Что я здесь делаю не так?
1 ответ
Согласно сообщению в блоге Microsoft Announcing.NET 5.0 RC 1, вам понадобится как минимум.NET 5.0 RC 1 для
record.ToString()
работать.
Записи - это, пожалуй, самая важная новая функция в C# 9. Они предлагают широкий набор функций (для языков типа), некоторые из которых требуют RC1 или более поздней версии (например, record.ToString()).
Чтобы использовать.NET RC 1, вам необходимо обновить Visual Studio:
Для использования.NET 5.0 вам потребуется последняя предварительная версия Visual Studio (включая Visual Studio для Mac).
Это, вероятно, означает, что вам нужна Visual Studio 2019 версии 16.8 Preview 3, выпущенная 14 сентября 2020 года.
Изменить: как и Ханс Пассант, упомянутый в комментариях, использование основной ветки должно исправить проблему в SharpLab. Вот рабочий пример. Если вы используете ветку C# 9: Records (7 июня 2020 г.), свойства записи не включаются в результирующую строку.