我正在尝试创建一个函数,在该函数中,我传递一个类名或一个空对象,然后构建一个新的类名并将其添加到列表中。我已经尝试了几种不同的方法,我已经在网上找到了,但它似乎不适用于作为函数传递或创建对象,而不是列表中的两者和无。
class Program
{
static void Main(string[] args)
{
Read("TestObject");
}
static void Read(string classname)
{
List<Object> listObject = new List<object>(); //Not sure what to do
typeOf(classname) n = new typeOf(classname)(); //Not sure what to do
listObject.Add(n);
}
}
public class TestObject
{
public string Col1 { get; set; }
public string Col2 { get; set; }
}
发布于 2019-06-11 03:36:20
在this post之后,使用:
public object GetInstance(string strFullyQualifiedName)
{
Type t = Type.GetType(strFullyQualifiedName);
return Activator.CreateInstance(t);
}
发布于 2019-06-11 20:21:55
在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(){}
}
https://stackoverflow.com/questions/56532489
复制相似问题