有人可以向我解释为什么我收到这个警告吗?我已经测试了代码并且它有效,我得到了我应该在那里获得的值(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/

10-14 05:11