isx*_*ker 7 c# c#-8.0 nullable-reference-types
我玩新c# 8.0 NullableReferenceTypes功能已有一段时间了。我对通过更改.csproj文件来启用此功能有些困惑。
我的意思是,要启用此功能,您必须在.csproj文件中放入以下几行:
<PropertyGroup>
<LangVersion>8.0</LangVersion>
<NullableContextOptions>enable</NullableContextOptions>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
但我也找到了另一种方法:
<PropertyGroup>
<LangVersion>8.0</LangVersion>
<NullableReferenceTypes>true</NullableReferenceTypes>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
所以几乎一样,但无论如何。NullableContextOptions和之间有什么区别NullableReferenceTypes?
在早期的预览中,编译器仅允许两个设置(true / false,表示开/关)。
在以后的预览中(从预览2开始),编译器允许更多选项,因此更改了设置名称和可能的选项。
这是可能的选项及其含义的文档:https : //docs.microsoft.com/zh-cn/dotnet/csharp/nullable-references
您需要拥有 Visual Studio 2019 预览版 2 或 .NET Core 3.0 预览版 2 才能使用NullableReferenceTypes.
您还需要启用 C# 8.0。检查该LangVersion元素以确保其设置为8.0。
NullableReferenceTypes<NullableContextOptions>enable</NullableContextOptions>在 Visual Studio 2019 预览版 2 中更改为
PS:该功能在.Net Framework中尚不支持