c#在Class中使用params变量名

时间:2017-09-06 19:48:26

标签: c#

我有以下类定义:

class PostObject
{
    public string jsonrpc { get; set; }
    public string method { get; set; }
    public MyObject params { get; set; }
    public string id { get; set; }
}

我使用此类进行后调用(在json中序列化)并且服务器将' params '作为输入post var并且无法更改它。

问题是,由于 params 是c#中的保留关键字,我该怎么办?

3 个答案:

答案 0 :(得分:5)

您可以使用序列化属性来设置其名称。像这样(NewtonSoft.Json):

[JsonProperty(PropertyName = "params")]
public MyObject parameters { get; set; }

Serialization Attributes in NewtonSoft.Json

答案 1 :(得分:3)

请参阅MSDN。您仍然可以使用关键字作为变量名称,但可以附加“@”。示例: - int @ int = 100;

源,

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/

答案 2 :(得分:0)

除了@转义和JsonPropertyAttribute之外,还值得一提的是,您不需要像NewtonSoft.Json这样的库一样遵循确切的大写:

public string Params { get; set; }