3

我尝试使用 Visual Studio 2022 Preview 3 中最新的 C# 10 功能。编译器无法识别所需的新关键字或字段。全局使用似乎有效。

public required string Name { get; init; }
public DateTime HiredDate{ get; init => field = value.Date(); }

空参数检查不编译:

public void NullParameterCheck(string arg!!) { ... }

我还尝试将语言版本设置为在 .csproj 中预览:

<LangVersion>preview</LangVersion>

有没有我错过的设置?

4

2 回答 2

5

最后我找到了部分解决方案。我必须添加

<LangVersion>preview</LangVersion>
<EnablePreviewFeatures>true</EnablePreviewFeatures>

到 .csproj 文件。空参数检查有效,但不是必需的字段。

于 2021-08-16T20:41:45.757 回答
0

这是我在 .csproj 文件中使用的:

<PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <LangVersion>preview</LangVersion>
    <EnablePreviewFeatures>true</EnablePreviewFeatures>
    <GenerateRequiresPreviewFeaturesAttribute>true</GenerateRequiresPreviewFeaturesAttribute>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
于 2022-02-26T12:42:32.030 回答