我有一個非常簡單的類爲什麼我不能將DynamicJson轉換爲我的課,如果我不寫{get;設置;}
public class A
{
public List<int> intList_a = new List<int>(); // {get; set;}
}
,我有
A a = DynamicJson.Parse("{\"intList_a\":[0, 1]}");
A a2 = DynamicJson.Parse("{\"a\":{}}");
Console.WriteLine(a.intList_a.First());
Console.WriteLine(a2.intList_a.Count);
我發現,如果我寫{獲得;設置;}而不是新的List();我可以將json中的值轉換爲a.intList_a。否則我[0,1]不會進入我的列表。
但是,有時我需要找出a2.intList_a.Count。如果我只是使用{get;設置;},intList將爲空。我知道每次打電話給Count時我都可以檢查null。但是,如果我可以在初始階段就更新它,那麼會更容易,因爲大部分時間我都需要價值。
我也明白,我C#6.0使它更容易,但我的工作環境不允許我升級。
那麼,爲什麼我必須寫{get;設置;}使[0,1]進入列表? 是否有無論如何獲得這兩個功能,我可以讓我的列表一個默認的新列表(),而我可以解析他們到我的A?
我可以在構造函數中編寫新的函數,但是我的數據類太大而無法手工完成。
謝謝,這個工程。我不知道是否有一個簡短的方法來做到這一點,以便我可以找到/替換他們爲我的巨大類。 – h5nc