编辑 [2020 年 11 月 29 日]:.NET 5.0 现已发布,但如果您的目标是 .NET Standard 2.1,则仍然需要以下解决方案
C# 9.0 仍在开发中。有几个参考资料让我相信它现在应该是可测试的(无论如何,其中一些)。
我正在使用 VS 2019 16.7 预览版 3.1。我选择了语言版本作为项目的预览。
一些 C# 9 功能,我可以使用。喜欢:Dictionary<string, object> Stuff = new()
但是使用新init功能会给我这个错误:Error CS0518 Predefined type 'System.Runtime.CompilerServices.IsExternalInit' is not defined or imported
我该如何解决?
导致错误的代码示例:
class Test
{
public int Hello { get; init; }
}
Run Code Online (Sandbox Code Playgroud)
和
record Test(int hello);
Run Code Online (Sandbox Code Playgroud)
记录定义是速记并扩展为使用 的内容init,这就是它也受到影响的原因。
我上面链接的语言跟踪页面说该功能是Merged into …