1

我正在尝试使用 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 属性方法将新列表实例化为默认属性值?

4

1 回答 1

1

DefaultValue属性更多地与序列化数据有关,而不是设置属性的实际默认值。链接页面说明:

DefaultValueAttribute 不会导致成员使用属性值自动初始化。您必须在代码中设置初始值。

尝试使用“New”关键字实例化列表:

Public Property Errors As New List(Of [Error])
于 2012-10-09T15:18:15.220 回答