2013-06-20 77 views
1

我开始了解.NET框架中的serialization,但无法找到您应该对返回自定义集合或自定义类对象的属性执行的操作。在下面的例子中说,我的Items属性返回自定义集合。我是否还需要为该类添加“datacontract”属性?序列化支持类VB.NET

如果任何属性返回一个自定义类的类型,也要稍微改变它,那么你必须标记所有这些类与datacontract(和datamembe r,如果他们有属性)?

<DataContract()> Public NotInheritable Class MyMainClass 
Private pFilters As MyCustomClass 

<DataMember()> Public ReadOnly Property Items As MyCustomCollection 
    Get 
     Return pFilters 
    End Get 
End Property 

Public Class MyCustomCollection 
    'Stuff in here 
End Class 
End Class 

回答

1

“列表”和“其他”之间通常存在很大的分歧。通常通过IList(-of-T,可选)和IEnumerable(-of-T,可选)API对列表中的项目进行循环处理。所以不,列表通常不需要特殊的标记只要他们显然是列表。然而,域实体(“其他”)通常需要被理解 - 意思是“是的,它会需要属性”。