ExpandoObject是.NET框架中的一個類,它允許在運行時動態地添加屬性和方法。使用ExpandoObject可以輕松地創建具有動態特性的對象,而不需要在編譯時定義類。
當我們需要在代碼中創建自定義對象,但不確定對象的屬性時,ExpandoObject就顯得非常有用。例如,當我們使用JSON數據時,我們可以使用ExpandoObject來解析JSON數據并將其轉換為C#對象。
dynamic obj = new ExpandoObject(); obj.Name = "Tom"; obj.Age = 25; //將ExpandoObject轉換為JSON字符串 string json = JsonConvert.SerializeObject(obj); Console.WriteLine(json);
在上面的代碼中,我們創建了一個動態對象obj,并添加了兩個屬性Name和Age。然后,我們將這個ExpandoObject對象轉換為JSON字符串。
使用ExpandoObject解析JSON數據也非常簡單。我們只需要將JSON字符串轉換為動態對象即可。
string json = "{ 'Name': 'Tom', 'Age': 25 }"; dynamic obj = JsonConvert.DeserializeObject<ExpandoObject>(json); Console.WriteLine("Name: " + obj.Name); Console.WriteLine("Age: " + obj.Age);
在上面的代碼中,我們使用JsonConvert類將JSON字符串轉換為ExpandoObject對象。然后,我們可以像訪問普通對象屬性一樣訪問動態對象的屬性。
總之,ExpandoObject是.NET框架中一個非常有用的類,它可以輕松地實現動態屬性和方法的添加,使我們的代碼更加靈活。
下一篇mySQL取得年月