C# C::如何添加名为“的类成员”;“受保护”;
我对C相当陌生,但在Objective-C和OOP方面有着丰富的经验。我使用Json.NET自动解析对象的API响应。恰好返回的一个对象具有名为protected的属性。显然这是个问题,因为protected是类成员声明的关键字C# C::如何添加名为“的类成员”;“受保护”;,c#,api,json.net,C#,Api,Json.net,我对C相当陌生,但在Objective-C和OOP方面有着丰富的经验。我使用Json.NET自动解析对象的API响应。恰好返回的一个对象具有名为protected的属性。显然这是个问题,因为protected是类成员声明的关键字 "protected": true 是否可以添加名为protected的成员 如果解析器试图设置受保护的属性,是否可以添加触发的setter和getter?(但将该值分配给名为_protected的私有成员) 当解析器遇到名为protected的属性时,我是否应该修改
"protected": true
public string@protected{get;set;}
不过,我建议不要这样做。您应该能够将JSON中的“受保护”字段重新映射到POCO中的其他属性
2:
三:
由你决定 我实施了这个解决方案:
[JsonProperty("protected")] public bool Protected { get; set; }
就像Daniel Mann在他的文章中建议的那样:反对它为什么?我无法更改API以返回不同的命名字段,如果它“只是添加@”,为什么不这样做?因为任何继承您代码的开发人员都会立即感到困惑,如果必须这样做,我会给第二个属性访问器“\u protected”,并使用
[System.ocated]
标记此项以停止使用。您应该可以使用JsonProperty
属性对其进行重命名。例如,[JsonProperty(“protected”)]公共字符串非protected{get;set;}
网站礼仪是接受我的答案,而不是发布你自己的答案说你使用了我的答案:)
[JsonProperty("protected")] public bool Protected { get; set; }