我有以下课程,希望使用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表达式或数组创建表达式。