我有以下內容存儲在ArrayList中作爲純字符串每行代表列表中的項目的值,有沒有辦法生成以下風格的動態對象: [左操作數是屬性] = [右操作數是該屬性的值]我希望有具有以下結構的對象在運行時從C#中的ArrayList生成自定義對象
object.data.details[1].tid=711
object.data.details[1].type="ongoing"
object.data.details[1].attach="node1"
object.data.details[1].flowing[1].comid="component1"
object.data.details[1].flowing[1].system-usage.RAM="12%"
object.data.details[1].flowing[1].system-usage.CPU="3%"
object.data.details[1].flowing[1].system-usage.Pages=3
object.data.details[1].flowing[2].comid="component2"
object.data.details[1].flowing[2].system-usage.RAM="9%"
object.data.details[1].flowing[2].system-usage.CPU="2%"
object.data.details[1].flowing[2].system-usage.Pages=1
object.data.details[1].flowing[3].comid="component3"
object.data.details[1].flowing[3].system-usage.RAM="7%"
object.data.details[1].flowing[3].system-usage.CPU="7%"
object.data.details[1].flowing[3].system-usage.Pages=5
object.data.details[2].tid=712
object.data.details[2].type="ongoing"
object.data.details[2].attach="node2"
object.data.details[2].flowing[1].comid="component1"
object.data.details[2].flowing[1].system-usage.RAM="12%"
object.data.details[2].flowing[1].system-usage.CPU="3%"
object.data.details[2].flowing[1].system-usage.Pages=3
object.data.details[2].flowing[2].comid="component2"
object.data.details[2].flowing[2].system-usage.RAM="9%"
object.data.details[2].flowing[2].system-usage.CPU="2%"
object.data.details[2].flowing[2].system-usage.Pages=1
object.data.details[2].flowing[3].comid="component3"
object.data.details[2].flowing[3].system-usage.RAM="7%"
object.data.details[2].flowing[3].system-usage.CPU="7%"
object.data.details[2].flowing[3].system-usage.Pages=5
object.data.details[3].tid=713
object.data.details[3].type="ongoing"
object.data.details[3].attach="node2"
object.data.details[3].flowing[1].comid="component1"
object.data.details[3].flowing[1].system-usage.RAM="12%"
object.data.details[3].flowing[1].system-usage.CPU="3%"
object.data.details[3].flowing[1].system-usage.Pages=3
object.data.details[3].flowing[2].comid="component2"
object.data.details[3].flowing[2].system-usage.RAM="9%"
object.data.details[3].flowing[2].system-usage.CPU="2%"
object.data.details[3].flowing[2].system-usage.Pages=1
object.data.details[3].flowing[3].comid="component3"
object.data.details[3].flowing[3].system-usage.RAM="7%"
object.data.details[3].flowing[3].system-usage.CPU="7%"
object.data.details[3].flowing[3].system-usage.Pages=5
:
object.data.details[i].flowing[j].comid="component1"
if i=j=1
object.data.details[i].flowing[j].system-usage.RAM="9%"
if i=1 and j=2
換句話說
我需要生成一個動態的對象CT,可以有一個ArrayList的屬性列表就像當我們可以通過訪問在asp.net GridView中顯示的任何值:
gridview1.rows[i].someproperty[j].value = "something"
我試圖用ExpandoObject但未能我也試圖與反思,但它消耗了很多如果我在同一個線程中生成〜1K個對象的話,它的內存就會變大
是,「有一種方法來產生下面的樣式動態對象」,但它有點太寬泛...附註:使用JSON會讓你的生活更輕鬆... –
有趣的是,這個列表實際上是從JSON對象生成的,但是使用我自己構建的自定義處理器,這樣我就可以以問題發佈的方式獲得結果。 @AlexeiLevenkov – Hassan8541
請注意,結構不固定,否則我可以建立一個類來將這些字符串值序列化爲:( – Hassan8541