2010-02-24 54 views
1

我知道對象的類型(比方說IAnimal)我需要實例化,並且名稱(讓我們說老虎)。假如知道對象名稱的變量是一個字符串,我該如何編寫代碼來實例化Tiger。我很可能在這裏錯過了一些簡單的東西,但我目前堅持這一點。在C#中,如何創建一個給定其類型名稱的對象?

更新:我的意思是Class Tiger:IAnimal,爲了體現這一點,改變了上面的內容。

回答

5

使用Activator.CreateInstance方法

例如:

// the string name must be fully qualified for GetType to work 
string objName = "TestCreateInstance.MyObject"; 
IProcess txObject = (IProcess)Activator.CreateInstance(Type.GetType(objName)); 

object o = Activator.CreateInstance("Assem1.dll", "Friendly.Greeting"); 

參見:Reflection Examples C#

1

使用反射按類型名稱實例化類的對象。

object o = Activator.CreateInstance(Type.GetType("Tiger")); 

注意,你不能實例化接口(由你命名來看),因爲他們僅僅是定義了一類特殊應該實施合同。

相關問題