将变量名称设置为类型

时间:2013-12-21 19:38:46

标签: c# json.net

我从第三方API反序列化json对象。其中一个Objects属性是一个名为“checked”的变量。在c#.net中,'checked'是一种类型。无论如何都要克服这一点。

我使用Newtonsoft Json.net进行反序列化。

关于班级没什么特别的,

public class item{
  public bool checked;
} 

2 个答案:

答案 0 :(得分:6)

使用@作为名称的前缀:

public class item{
  public bool @checked;
}

顺便说一下,checked不是类型,而是关键字。

来自MSDN

  

关键字是预定义的保留标识符,对编译器有特殊含义。它们不能用作程序中的标识符,除非它们包含@作为前缀。

答案 1 :(得分:2)

虽然@ nemesv的答案是正确的并且可以正常工作,但我只想提一下,如果你使用的是Json.Net,还有另一种选择。您可以使用JsonProperty属性将类属性映射到JSON属性,以便它们可以具有不同的名称。例如:

public class item
{
    [JsonProperty("checked")]
    public bool IsChecked { get; set; }
}