我的项目中有12个课程如下:
class class1
{
}
class class2
{
}
在另一个类中,我有一个方法,我想创建一个class1
或class2
的实例
根据一个字符串:
public void MyMethod(string s)
{
//I want to create an instance of class1 if s=="class1" or class2 if s=="class2"
}
我怎么能这样做?
答案 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);
}