将类名作为参数传递并构建新对象

时间:2019-06-10 19:31:58

标签: c# class object

我正在尝试创建一个函数,该函数可以传递类名或空对象,然后构建一个新函数并将其添加到列表中。我尝试了几种在网上找到的不同方法,但是它似乎不能作为函数传递或制造对象使用,不适用于列表,也不能同时使用。

OnDayBtn_Click

2 个答案:

答案 0 :(得分:1)

this post之后,使用:

public object GetInstance(string strFullyQualifiedName)
{         
     Type t = Type.GetType(strFullyQualifiedName); 
     return  Activator.CreateInstance(t);         
}

答案 1 :(得分:0)

在linqpad中尝试此示例。您缺少标准的类名(在本例中为“ UserQuery + test”)

void Main()
{
    test tt = new test();
    GetInstance(tt.GetType().ToString());
}

public object GetInstance(string strFullyQualifiedName)
{
    var t = Type.GetType(strFullyQualifiedName).Dump();
    var res = Activator.CreateInstance(t);
    return  res;
}

public class test{
    public int id {get;set;}
    public test(){}
}