首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将类名作为参数传递并构建新对象

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

Stack Overflow用户
提问于 2019-06-11 03:31:59
回答 2查看 57关注 0票数 -1

我正在尝试创建一个函数,在该函数中,我传递一个类名或一个空对象,然后构建一个新的类名并将其添加到列表中。我已经尝试了几种不同的方法,我已经在网上找到了,但它似乎不适用于作为函数传递或创建对象,而不是列表中的两者和无。

代码语言:javascript
复制
    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; }
    }
EN

回答 2

Stack Overflow用户

发布于 2019-06-11 03:36:20

this post之后,使用:

代码语言:javascript
复制
public object GetInstance(string strFullyQualifiedName)
{         
     Type t = Type.GetType(strFullyQualifiedName); 
     return  Activator.CreateInstance(t);         
}
票数 1
EN

Stack Overflow用户

发布于 2019-06-11 20:21:55

在linqpad中尝试此示例。缺少完全限定的类名(在本例中是"UserQuery+test")

代码语言:javascript
复制
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(){}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56532489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档