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 に答える