我正在开始一个新的.Net Core项目,但我不知道如何为nuget包实现可为空的引用类型

问题描述 投票:0回答:1

基本上,我可以在项目中创建一个类,并定义字符串是否为null。

现在我可以下载一个nuget包,如果我查看某个类的字符串属性,它将告诉我它不可为空。但我知道它可以为空。

那么我该怎么办?完美世界还有很长的路要走吗?

这里是一个例子下载nuget包RestSharp

写此行

var response = new RestClient().ExecuteGetAsync(new RestRequest());

var myNullVariable = response.ErrorException;

Visual Studio不会告诉您它可以为null。

c# .net-core visual-studio-2019 nullable-reference-types
1个回答
0
投票

参考文献可能具有以下三种状态之一:

  1. 可为空
  2. 不可为空
  3. 遗忘

[前两个是(相对)明显的。如果NRT是随.NET 1.0引入的,则最后一个状态将不存在,并且仅出于向后兼容的目的而存在。当使用未注释的代码时(无论是在您自己的项目中还是通过NuGet包),其引用均被视为可为空。这些引用就像在引入NRT之前一样贯穿您的代码。

所有要说的是:您引用的任何程序包都必须先注释其代码,然后才能在使用NRT时充分利用它。

© www.soinside.com 2019 - 2024. All rights reserved.