C# dynamic動態對象賦值

dynamic 如果接收的是匿名對象,是無法爲屬性賦值的,而如果是接收的定義對象,又無法擴展字段。
解決辦法序列化爲json字符串,然後用Dictionary反序列化,就能賦值了。也能擴展新的字段。
代碼:
dynamic obj = new { a = 1, b = 2,hh=3 };
            dynamic obj2 = new { obj1 = obj, a3 = 123 };
            var str = JsonConvert.SerializeObject(obj2);
            var dic = JsonConvert.DeserializeObject<Dictionary<string, object>>(str);
            int a = dic["obj1"].a;
            dic["obj1"].a+=1;
            dic["ooo"] = "3_=";

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章