我有一個代表自定義類名稱的字符串變量。例:string s = "Customer";我將需要創(chuàng)建一個客戶列表。因此,所需的語法為:List<Customer> cust = new .. 如何轉(zhuǎn)換字符串s以便能夠在運(yùn)行時創(chuàng)建此arraylist?
3 回答

哈士奇WWW
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個贊
這是一個反思問題。您需要找到類型,然后實(shí)例化它的實(shí)例,如下所示:
Type hai = Type.GetType(classString,true);
Object o = (Activator.CreateInstance(hai)); //Or you could cast here if you already knew the type somehow
或CreateInstance(assemblyName,className)
盡管您將需要注意名稱空間/類型沖突,但這將在一個簡單的場景中解決問題。
另外,將其包裝在try / catch中!Activator.CreateInstance很嚇人!

慕慕森
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個贊
如果要創(chuàng)建的所有類都是結(jié)合了必要方法的基類的子類(必要時在子類中重寫),則可以將其聲明為List<BaseClass> list = Activator.CreateInstance(listType);
,然后您可以調(diào)用“ listItem.MyMethod();
- 3 回答
- 0 關(guān)注
- 1034 瀏覽
添加回答
舉報(bào)
0/150
提交
取消