我有两个可序列化的类,其中第一个类Main
包含成员Id
,Details
是第二个类Detail
的枚举。
例如
<DataContract()>
Class [Main]
<DataMember(Name:="id")>
Property [Id] As Integer = 0
<DataMember(Name:="details")>
Property [Details] As IEnumerable(Of [Detail]) = Nothing
End Class
<DataContract()>
Class [Detail]
<DataMember(Name:="name")>
Property [Name] As String = Nothing
<DataMember(Name:="dob")>
Property [BirthDate] As Date? = Nothing
End Class
(这是一个非常简化的例子,所以请不要问为什么我想这样做。)
我最终想要的只是Details
,Detail
的集合,但是包含来自父Id
的{{1}}属性。< / p>
所以......
Main
现在,我知道我可以简单地遍历结果并将Id = 1, Name = "John Smith", BirthDate = #1/1/1990#
Id = 1, Name = "Jane Jones", BirthDate = #2/2/1990#
Id = 2, Name = "Jim Hicks", BirthDate = #3/3/1990#
Id = 3, Name = "Jana Walsh", BirthDate = #4/4/1990#
Id = 3, Name = "Jason Brown", BirthDate = #5/5/1990#
从Id
对象复制到Main
对象。但有没有办法通过序列化过程将Detail
添加到Id
个对象? (对不起,如果我有一些命名错误,这里重新序列化,等等。)
注意:我不能 - 或者不想 - 让Detail
成为Detail
的子类,因为Main
会在其他类中重复使用。