2011-09-22 70 views
-3

創建一個對象,我有這樣的對象集:如何從一個字符串

Object A 
Object AA: A 
Object BB: A 
Object CC: A 

如何創建由於在它「AA」的字符串變量類型AA的對象?我一直在看Activator的東西,但無法完全弄清楚。

+0

這是不是很清楚你的意思。一個簡短而完整的涉及類型的例子以及「這個對象集」的含義真的會有所幫助。 –

+3

這些是_classes_,而不是對象。 – SLaks

+0

我想創建一個類型爲BB的對象,給定字符串「BB」 – Charles

回答

6

您需要爲AA獲取Type實例,然後將其傳遞給Activator.CreateInstance

Type myType = typeof(SomeTypeInProject).Assembly.GetType(typeName); 

object instance = Activator.CreateInstance(myType); 
+0

或'Assembly.GetExecutingAssembly()',爲代碼行出現在程序集中(避免需要指定類型)。 (假設'AA','BB'和'CC'與正在進行實例化的那個在同一個程序集中。) –

+0

所以在我的示例中,創建一個給定字符串「BB」的BB類對象:Type myType = typeof運算(A).Assembly.GetType( 「BB」); - 是對的嗎? – Charles

+0

@Charles:是的(假設他們在同一個集會中) – SLaks