有时,当您创建DTO以对json
进行反序列化时,可以用[JsonRequiredAttribute]
装饰属性:
class Car
{
[JsonRequired]
public string Make { get; set; }
}
但是,在使用ReSharper或C#8时,您会看到以下警告:
Car.cs(30,19):[CS8618]不可初始化的属性'Make'未初始化。考虑将属性声明为可为空。
[在某些项目中,我有很多这样的警告,我想知道是否有一种方法仅针对假阳性抑制它们?我可以完全禁用它们,但我不想这么做。
如果使用的是C#8,则可以使用Null Forgiving Operator。例如,
public string Make { get; set; } = null!;
来自文档
后缀!运算符对运行时间没有影响-评估为基础表达式的结果。它的唯一作用是改变表达式的空状态,并限制对其使用的警告。