如何解决C#9.0记录ToString
如果我看着spec,它说
记录中包含一个等效于以下声明的方法的综合方法:公共重写字符串ToString();
无论如何使用sharplab,正如我在VS16.8.0 Preview 2.1代码中看到的那样:
record Rec(string S1,string S2);
ToString
不会自动生成。
我在做什么错了?
解决方法
根据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的最新预览版(包括Mac的Visual Studio)。
这可能意味着您需要2020年9月14日发布的Visual Studio 2019 version 16.8 Preview 3。
编辑:就像注释中提到的Hans Passant一样,使用master分支应该可以解决SharpLab中的问题。这是working example。如果使用分支 C#9:记录(2020年6月7日),则记录的属性不包含在结果字符串中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。