[英]Base Class with Ability to Serialize Derived Class
我想創建一個基類,其中包含一個序列化類的當前實例的屬性。 這樣我就不必將Payload
屬性添加到我想序列化的每個類中,如果我想改變我的序列化方式,我就不必在我的所有類中都改變它。
public class BaseClass
{
public string Payload => JsonSerializer.Serialize(this);
}
public class DerivedClass : BaseClass
{
public string ClientId { get; set; }
...other properties left out
}
問題是this
總是在BaseClass
的上下文中,所以它對派生類一無所知。 我已經閱讀了BaseClass
了解派生類的任何不良做法的地方。 那么在這種情況下,我的選擇是什么?
這將適用於以下代碼:
public class BaseClass
{
[JsonIgnore]
public string Payload => JsonSerializer.Serialize(this, this.GetType());
}
請參閱此處的說明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.