問題窺探
之前有個哥們在使用Newtonsoft.Json反序列化的時候,發現明明有資料,但是就是序列化不出來資料到物體里面,



咋一看,確實沒什么問題啊,字串的資料是存在的,那么問題出在哪里呢,
解決思路
1、我讓他把字串復制出來,使用在線工具決議下,和物體對應的名稱核對看下是否有出入,發現確實沒問題,

2、于是我讓他把物體檔案發我下,

我查看了下,名稱確實沒問題,等等,這屬性 public ListData { get; }?
/// <summary> /// 跟蹤資訊頭 /// </summary> public class O { /// <summary> /// 業務資料, /// </summary> [JsonProperty("data")] public List<TraceDto> Data { get; } /// <summary> /// 狀態, /// </summary> [JsonProperty("status")] public int Status { get; } ///// <summary> ///// 例外訊息, ///// </summary> //[JsonProperty("msg")] //public string Message { get; } }
于是,我讓他這么干,
{ get; }=>{ get; set; }

問題解決,
總結
屬性按如下方式,根據所使用的訪問器進行分類:
只帶有 get 訪問器的屬性稱為只讀屬性,無法對只讀屬性賦值,
只帶有 set 訪問器的屬性稱為只寫屬性,只寫屬性除作為賦值的目標外,無法對其進行參考,
同時帶有 get 和 set 訪問器的屬性為讀寫屬性,
在屬性宣告中,get 和 set 訪問器都必須在屬性體的內部宣告,
使用 get 訪問器更改物件的狀態是一種錯誤的編程樣式,

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/270418.html
標籤:C#
上一篇:C# 8 中的異步迭代器 IAsyncEnumerable<T> 決議
下一篇:c#與js的rsa加密互通
