字段 modifyDate 永远不会分配给,并且始终具有其默认值 0



有人可以向我解释为什么我会收到此警告吗?我已经测试了代码并且它有效,我得到了我应该在那里获得的值。这是一个错误的警告还是我错过了什么?

[DataMember(Name = "modifyDate")]        
private long modifyDate;
public DateTime lastModified 
{
    get { return DateTimeConverter.FromUnixTime(modifyDate); }
}

这是一个编译器警告,这意味着编译器在编译时找不到任何将分配值的代码。但是,仍然有可能在运行时分配值。在您的情况下,这是由DataContractJsonSerializer完成的。

如果您知道这一点,您可以通过编写来禁用警告

#pragma warning disable 0649

在受影响的代码行之前和

#pragma warning restore 0649

在代码行之后。

通常,您还应该添加注释,说明为什么要使用该编译指示,例如

// This field is assigned to by JSON deserialization

相关内容

最新更新