2013-05-14 76 views
0

有沒有辦法讓你能夠通過重新實例來創建一個對象,取決於數據類型以字符串形式寫入的內容?例如:c#or VB.net關於將對象轉換爲數據類型

string datatype = "List<genericclassname>"; 
list<genericclassname> o = (datatype)dynamicallyinstantiateclass("namespace.classname"); 
+2

你會期望這樣的演員有什麼效果?請注意,在你的例子中,你仍然有'o'聲明的'list'部分硬編碼。 – 2013-05-14 11:44:35

+0

您可以將一個字符串添加到列表中,但我不認爲您可以將字符串轉換爲類型列表。 – Pomster 2013-05-14 11:45:11

+0

'list o =(list )dynamicallyinstantiateclass(「namespace.classname」);' – AgentFire 2013-05-14 12:16:51

回答

0

當然可以:

dynamic d = Activator.CreateInstance("assemblyName","TypeName"); 
    d.DoSomthing(); 

找到你的程序集名稱右鍵點擊你的項目是自己的你的應用程序中的標籤類,你可以找到你喜歡的類型集名稱

+0

對於'string datatype',你不能轉換爲'(datatype)'。 – 2013-05-14 11:56:10

+0

你的權利,所以你可以使用動態數據類型 – hm1984ir 2013-05-14 12:00:25

+0

你可以看到這個鏈接的更多信息: http://msdn.microsoft.com/en-us/library/dd264736.aspx – hm1984ir 2013-05-14 12:01:50

相關問題