C#中的字段属性

本文关键字:属性 字段 | 更新日期: 2023-09-27 18:21:12

我在类中使用了几十个属性,它们基本上总是相同的。像这样:

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并且是密封的:)

C#中的字段属性

如果发现在每个属性上都将NullValueHandling设置为Ignore,则可以改为在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;
}

只需在Visual Studio中添加一个片段。

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