从字符串变量创建对类的引用

本文关键字:引用 创建 字符串 变量 | 更新日期: 2023-09-27 18:17:58

我需要这样做;

string className = "Customer";
List<className> myList = new List<className>();

className可以是我的任何实体框架类。我以Customer为例。

我希望这是可能的。如果有,怎么做?更新:

我还需要使用这种方法从实体框架dbContext中检索数据。例如…

        string className = "Customer";
        var myData = db.Set<className>();

抱歉。不确定我是否应该在这里创建另一个问题或更新这个问题。对我温柔点。我是新来的。: o)

从字符串变量创建对类的引用

如果你愿意,你可以在这种情况下使用反射,但我会考虑另一种解决方案。

Type type = Type.GetType("Namespace.ClassName");
Type listType = typeof(List<>).MakeGenericType(new [] { type } );
IList list = (IList)Activator.CreateInstance(listType);

您可以使用:

Type customerType = Type.GetType("this.is.a.namespace.Customer");

相关:其他问题