This question already has answers here:
Create an instance of a class from a string
                                
                                    (8个答案)
                                
                        
                                6年前关闭。
            
                    
我知道我需要实例化的对象的类型(比如说IAnimal)和名称(比如说Tiger)。给定知道对象名称的变量是一个字符串,我该如何编写代码以实例化Tiger。我可能在这里缺少一些简单的东西,但目前仍停留在此上。

更新:我的意思是Class Tiger:IAnimal,在上面进行了更改以反映这一点。

最佳答案

使用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#

10-08 17:44