有人可以向我解释为什么我收到这个警告吗?我已经测试了代码并且它有效,我得到了我应该在那里获得的值(value)。这是错误警告还是我遗漏了什么?
[DataMember(Name = "modifyDate")]
private long modifyDate;
public DateTime lastModified
{
get { return DateTimeConverter.FromUnixTime(modifyDate); }
}
最佳答案
这是一个编译器警告,这意味着编译器在编译时找不到任何可以赋值的代码。但是,仍然有可能在运行时分配值。在您的情况下,这是由 DataContractJsonSerializer
完成的。
如果你知道这一点,你可以通过写来禁用警告
#pragma warning disable 0649
在受影响的代码行之前和
#pragma warning restore 0649
在代码行之后。
通常,您还应该添加注释为什么要使用该 pragma 指令,例如
// This field is assigned to by JSON deserialization
关于c# - 字段 modifyDate 永远不会分配给,并且将始终具有其默认值 0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29590424/