預設在Json.Net 中設定私有setter
雖然Json.Net 提供了一個屬性來明確處理私有setter,但這種願望可能存在將此行為設為預設行為。雖然可以選擇調整原始碼,但還有其他方法可以實現此目的:
使用[JsonProperty] 屬性
如果唯一目的是填充唯讀屬性在反在序列化期間,應用[JsonProperty] 屬性就足夠了。例如:
[JsonProperty] public Guid? ClientId { get; private set; }
帶參數的建構子
考慮提供一個與屬性相符的參數的建構函數,如下:
public class Foo { public string Bar { get; } public Foo(string bar) { Bar = bar; } }
這種方法允許序列化和反序列化:
string json = "{ \"bar\": \"Stack Overflow\" }"; var deserialized = JsonConvert.DeserializeObject<Foo>(json); Console.WriteLine(deserialized.Bar); // Stack Overflow
構造函數方法的好處:
以上是如何將私有 Setter 設定為 Json.Net 中的預設行為?的詳細內容。更多資訊請關注PHP中文網其他相關文章!