2017-02-26 81 views
0

我得父類,如:如何在JSON新的屬性序列化隱藏之後派生

public class Title 
{ 
    public List<Detail> details {get; set;} 

} 

public class Detail 
{ 
    // some properties 
} 

public class TitleChild : Title 
{ 
    public new List<DetailChild> details {get; set;} // hiding 

} 

public class DetailChild : Detail 
{ 
    // some properties 
} 

我需要序列TitleChild List<TitleChild>

萬物的標題List<Title>的列表,列表在List<Title>可以,但在List<TitleClild>有些事情是錯的。 在javascript中反序列化之後,我注意到細節屬性steel是超類中的隱藏屬性。

我該怎麼辦?

而且我也不能忽視對串行隱藏屬性是超因爲我需要它的超類序列時間。

+0

它與任何數據一樣:你期望的一種特殊類型或類型的信息必須是消息 –

回答

0

序列化最有可能只是穿越公共屬性。您已使用new關鍵字隱藏您的個人信息。您可以嘗試更改結構,以便不使用new。這裏真的很奇怪,你最好在任何情況下避免它。

E.g.如果您希望返回兩個屬性,則可以將名稱details更改爲childrenDetails,並刪除new

P.S.由於從DetailDetailChild繼承,你其實還可以直接使用原來的details列表,並與DetailChild對象來填充它。

+0

的一部分,但解串器應該如何知道什麼時候創建DetailChild實例?這是主要問題 –