我通过将相应的 *.csproj 文件修改为以下内容,将 Asp.Net Core 3.1 (MVC) 升级到 .Net 5:
<TargetFramework>net5.0</TargetFramework>
<LangVersion>9.0</LangVersion>
现在我可以使用 C# 9目标输入功能 https://devblogs.microsoft.com/dotnet/welcome-to-c-9-0/#target-typed-new-expressions...
string s = new('c', 3); // compiles fine
...但我无法创建record class https://devblogs.microsoft.com/dotnet/welcome-to-c-9-0/#records:
public data class User
{
// IDE1007 The name 'data' does not exist in the current context.
}
我在这里错过了什么吗?
根据记录类型规格 https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9#record-types,你应该使用public record User
syntax.
最好查看最终规格,而不是带有介绍的博客文章,因为有些内容已更改。
您还可以参考csharplang 仓库 https://github.com/dotnet/csharplang在 GitHub 中查看最新的规格、设计会议和提案。对于特别Records以最初的问题为特色#39 https://github.com/dotnet/csharplang/issues/39可能用于跟踪最新的更新和规格
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)