.NET DefaultValue属性属性实例化新的自定义对象类型

时间:2012-10-09 15:08:41

标签: vb.net attributes default-value

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

1 个答案:

答案 0 :(得分:1)

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

  

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

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

Public Property Errors As New List(Of [Error])