根据字符串创建类的实例

时间:2014-03-15 11:45:17

标签: c# class

我的项目中有12个课程如下:

class class1
{

}

class class2
{

}

在另一个类中,我有一个方法,我想创建一个class1class2的实例 根据一个字符串:

public void MyMethod(string s)
{
//I want to create an instance of class1 if s=="class1" or class2 if s=="class2"
} 

我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

这是一个尝试这个希望它会起作用的工作。

首先,你需要在字符串中传递类实际名称,例如,如果你有一个类ClassA然后将ClassA传递给它,它将创建一个类的实例。

private object MyMethod(string className)
{
    var assembly = Assembly.GetExecutingAssembly();

    var type = assembly.GetTypes()
    .First(t => t.Name == className);

    return Activator.CreateInstance(type);
}