2015-10-15 29 views
-1

我正在尋找一種方法來存儲具有指定屬性的類對象,然後閱讀它們。這是我特地與方法:最方便的方式來存儲,定義和讀取類的對象?

internal class Zones 
{ 
    public Dictionary<string, Zone> zoneData = new Dictionary<string, Zone>() 
    { 
     { "Something", new Zone() } 
    }; 

    public Zone Load(string zoneName) 
    { 
     return zoneData[zoneName]; 
    } 
} 

internal class Zone 
{ 
    public uint id; 
    public string name; 
} 

然後閱讀:

Zone z = Zones.Load("Something"); 
// z.id, z.name 

但是有一個問題。我希望能夠在具有指定屬性的zoneData字典中有多個Zone類。

我想到了幾個選項。當主類運行時,定義新的和zoneData.add(new Zone([Properties]))。或者直接按照我在示例中展示的那樣,但我必須在外部定義這些內容,然後添加引用。

再次,對於這個想法,最好的方法是什麼?謝謝!

+2

目前尚不清楚你想要做什麼的區域類的構造函數,但它聽起來像是你試圖重塑輪子在這裏。你是否希望在運行時動態加載類?如果是這樣,看看反思。你是否試圖堅持課程的數據和結構?如果是這樣,請考慮序列化。 – Tim

+0

好吧,也許我還不夠清楚,但基本上什麼是直接在字典裏面存儲Zone類的最佳方式。無需在運行時開始添加()那些? – user2818626

+0

你可以堅持使用序列化,然後在啓動時讀取它們 –

回答

1

你需要創建的類,並把他們的字典

Dictionary<string, Zone> m_dict = new ....; 
public Zones() 
{ 
    m_dict.Add("zone1", new Zone{id = 42, name = "foo"}); 
    m_dict.Add("zone2", new Zone{id = 43, name = "bar"}); 
.... 
} 
相關問題