我正在尝试使用DefaultValue属性来修饰属性,以断言该值默认为程序中类型化对象的新列表。失败的代码如下:
<DataContract()>
Partial Public Class MessageBaseResponse
#Region "Properties"
<DataMember()>
Public Property Header As Header
<DataMember()>
<DefaultValue(GetType(List(Of [Error])))>
Public Property Errors As List(Of [Error])
<DataMember()>
<DefaultValue(GetType(List(Of Warning)))>
Public Property Warnings As List(Of Warning)
#End Region
End Class
如何使用DefaultValue属性方法将新列表实例化为默认属性值?
答案 0 :(得分:1)
DefaultValue属性更多地与序列化数据有关,而不是设置属性的实际默认值。链接页面注明:
DefaultValueAttribute不会导致使用属性的值自动初始化成员。您必须在代码中设置初始值。
尝试使用“新”关键字实例化列表:
Public Property Errors As New List(Of [Error])