json属性中的默认值空列表

时间:2019-02-01 15:15:42

标签: c# arrays json.net

我有以下课程,希望使用JsonProperty的DefaultValueHandling.IgnoreAndPopulate,但在设置列表的默认值时遇到问题。我尝试了以下代码,但是在编译过程中出错。在这种情况下如何设置列表默认值?

我展示了我的3次尝试,list2中的默认值可以正确编译但无法正常工作,list1和list3中的默认值无法编译。

      public class MyClass
      {
            [DefaultValue("")]
            [JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
            public string String1 { get; set; }


            [DefaultValue(0)]
            [JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
            public double Double2 { get; set; }


            [DefaultValue(new List<string>())]
            [JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
            public List<string> list1 { get; set; }

            [DefaultValue(new string[] {})]
            [JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
            public List<string> list2 { get; set; }

            [DefaultValue(new List<string>())]
            [JsonProperty(DefaultValueHandling = DefaultValueHandling.IgnoreAndPopulate)]
            public List<string> list3 { get; set; }
     }

错误: 属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式。

0 个答案:

没有答案