我希望在運行時動態創建和命名我的對象的實例,因爲我將它們添加到列表類中我以某種方式認爲這將是c#中的一件簡單的事情,但迄今爲止,我一直無法找到任何有關如何實現此目的的信息。如何在C#中的運行時動態創建和命名對象?
簡要描述我有一個自定義的類,在運行時我想創建一個數組列表並填充它與custon類的對象,但命名對象,因爲它們被添加到列表使用循環索引和一個標準名稱。
這可能嗎?
我希望在運行時動態創建和命名我的對象的實例,因爲我將它們添加到列表類中我以某種方式認爲這將是c#中的一件簡單的事情,但迄今爲止,我一直無法找到任何有關如何實現此目的的信息。如何在C#中的運行時動態創建和命名對象?
簡要描述我有一個自定義的類,在運行時我想創建一個數組列表並填充它與custon類的對象,但命名對象,因爲它們被添加到列表使用循環索引和一個標準名稱。
這可能嗎?
您可以有一個列表,允許你通過一個索引來訪問它的元素或有dictonary,可以讓你與任何特定類型相同:
List<YourClass> yourList = new List<YourClass>();
YourClass instance = new YourClass();
yourList.Add(instance);
YourClass instance2 = yourList[0];
例如,如果你想與你的字典字符串鍵(「名稱」):
Dictonary<string, YourClass> dict = new Dictonary<string, YourClass>();
YourClass instance = new YourClass();
dict.Add("someName", instance);
YourClass instance2 = dict["someName"];
不像在PHP中,有一個在C#中沒有內置的集合類型,允許您通過兩個索引或鍵來訪問它的成員。你可以隨時創建自己的。
如果你想給他們一個名字,然後把他們添加到映射,而不是一個列表。
對象在.NET中沒有名稱。
此外,請勿使用ArrayList
類。改爲使用List<T>
。
這裏沒有試圖討論,但我會說相反是真實的,因爲你通常在某個時間點將你的對象賦值給一個變量,即使只是隱約地將它們掩埋在一個列表中,通過它你可以在您的代碼中找到並識別它們...有效地爲它們提供種類名稱。 然後,你總是有選擇,你可以爲你的對象提供一個名稱屬性... 來想一想,任何語言,視覺或其他方式也可以這麼說。 :-) – 2010-01-15 07:22:05
這聽起來不像OP在談論變量,而是對象。一般來說,對象沒有名稱。 – 2010-01-15 07:29:43
我現在清醒了,並在所有氣瓶上開火,但S羅賓斯在當時想要達到的目標。對於缺乏清晰度的對不起,但連續28小時以上可以霰彈槍的推理能力 – 2010-01-15 10:49:51
奇怪的問題排序,因爲你不能「命名」對象。
然而,你可以做它聽起來像你試圖使用通用字典(Dictionary<string, MyCustomType>
)實現。字典中的字符串鍵有點像對象名,並且鍵對應的值包含對象實例。
您是否在尋找類似System.Collections.Generic.Dictionary <> ..?
我不明確的道歉。這是0430,我很久沒有睡覺了:)桑德斯說得很對。 – 2010-01-15 04:38:46