簡體   English   中英

具有序列化派生類能力的基類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM