C#中的字段属性

时间:2015-11-07 18:48:22

标签: c# json json.net

我在课堂上使用了几十个属性,它们基本上是一样的。像这样:

public class Foo
{
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public string a;

    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public string b;

    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public string c;

    [JsonProperty("slightly different", NullValueHandling = NullValueHandling.Ignore)]
    public string different;
}

是否可以为此创建快捷方式?所以我不需要写整行:[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]

JsonProperty来自Json.NET并被密封:)

2 个答案:

答案 0 :(得分:1)

如果您发现每个媒体资源都设置NullValueHandlingIgnore,则可以在JsonSerializerSettings中进行设置。然后,您根本不需要将单独的属性应用于您的属性(除非JSON属性名称与类属性名称不同)。

JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
    NullValueHandling = NullValueHandling.Ignore
};

您的类定义将如下所示:

public class Foo
{
    public string a;
    public string b;
    public string c;

    [JsonProperty("slightly different")]
    public string different;
}

答案 1 :(得分:0)

只需在Visual Studio中添加一个代码段即可。

Snippets是一种将常用代码块快速添加到源代码中的便捷方法。 Studio默认提供一些代码片段,例如'cw',转换为Console.WriteLine();或foreach和用括号创建循环结构。 请在此处查看如何创建代码段的示例: https://msdn.microsoft.com/en-us/library/ms165394.aspx