[英]c# Rename a derived property while serializing
我有一個 Base Class,有一個 List 作為屬性。 我有多個從該類派生的類,我希望在序列化時擁有具有不同名稱的這些屬性......
如果未在派生 Object 中指定該屬性,則 Json.Net 裝飾不起作用如果我指定它,我會收到建議“如果打算隱藏,請使用新關鍵字。”,如果我這樣做,我可能會輸物業的基本手續?
public class Translation
{
[JsonProperty(PropertyName = "name")]
public string Name { get; set; };
[JsonProperty(PropertyName = "translatedCaption")]
public string TranslatedCaption { get; set; };
public List<Translation> Children { get; set; };
public Translation(string name,string translatedCaption)
{
Name=name;
TranslatedCaption=translatedCaption;
Children = new List<Translation>();
}
public void Add(Translation translation)
{
...
}
}
public class Translation_Model : Translation
{
[JsonProperty(PropertyName = "tables")]
public List<Translation> Children { get; set; };
}
使用不同的 json 屬性名稱覆蓋派生 class 中的屬性。
public class Translation
{
...
public virtual List<Translation> Children { get; set; }
...
}
public class Translation_Model : Translation
{
...
[JsonProperty(PropertyName = "tables")]
public override List<Translation> Children { get; set; }
...
}
virtual
關鍵字用於修改方法、屬性、索引器或事件聲明,並允許在派生的 class 中覆蓋它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.