C#:如何添加名为“protected”的类成员

时间:2013-08-18 20:16:33

标签: c# api json.net

我是C#的新手,但在Objective-C和OOP方面拥有丰富的经验。我正在使用Json.NET自动解析对对象的API响应。碰巧其中一个返回的对象具有名为 protected 的属性。显然这是一个问题,因为protected是类成员声明的关键字。

"protected": true
  1. 是否可以添加名为 protected 的成员?
  2. 如果解析器尝试设置受保护的属性,是否可以添加触发的setter和getter? (但将值分配给名为_protected的私有成员)
  3. 当遇到名为 protected 的属性时,我应该修改解析器以使其行为不同吗?
  4. 感谢您的任何建议。

2 个答案:

答案 0 :(得分:5)

1

对于问题#1:您可以在其前面添加一个@符号作为变量名称。

E.g。

public string @protected {get; set; }

但我建议反对这样做。您应该能够将JSON中的“受保护”字段重新映射到POCO中的其他属性。

2:

private string _protected;

public string @protected 
{
    get 
    {
       //any additional code you want
        return _protected;
    }
    set
    {
       //any additional code you want
        _protected = value;
    }
} 

3:

由你决定!

答案 1 :(得分:1)

我实施了这个解决方案:

[JsonProperty("protected")] public bool Protected { get; set; }

像Daniel Mann在comment中所建议的那样: