从字符串反射,找不到方法-c#

从字符串反射,找不到方法-c#,c#,reflection,C#,Reflection,我正在做一个需要自动实例化对象模型的方法。 事实上,它无法实例化对象,因为它说它找不到。 但我向你保证,这种方法是存在的 错误: 无法从程序集“数据模块”加载类型“tbl_客户”, 版本=1.0.0.0,区域性=中性,PublicKeyToken=null' 我用这个: string className = "tbl_customer"; string namespaceName = "DataModules"; var myObj = Activator.CreateInstance(nam

我正在做一个需要自动实例化对象模型的方法。 事实上,它无法实例化对象,因为它说它找不到。 但我向你保证,这种方法是存在的

错误:

无法从程序集“数据模块”加载类型“tbl_客户”, 版本=1.0.0.0,区域性=中性,PublicKeyToken=null'

我用这个:

string className = "tbl_customer";
string namespaceName = "DataModules";

var myObj = Activator.CreateInstance(namespaceName, className);
否则,要直接测试对象的功能实例,这将起作用:

tbl_customer t = new tbl_customer();
String tmp = Type.GetType().toString();
这样做我工作,为什么? 我会充满活力

var myObj = Activator.CreateInstance(namespaceName, className);
简而言之,不是DataModules中的方法


帮助我:)

您需要传递
程序集名称
,然后传递完整的
类型名称

string className = "DataModules.tbl_customer";
string assemblyName = "DataModules";

var myObj = Activator.CreateInstance(assemblyName, className);

请注意,
Activator.CreateInstance
不采用名称空间和类型名称,而是采用程序集名称和类型名称。类所在的程序集的名称是什么?该类位于model.edmx中,命名空间为DataModules,并且该名称位于当前正在执行的程序集中吗?我有一个编辑问题,有解决方案的图像,可以帮助您吗?不是真的。。让我重新表述一下这个问题:代码使用的是
Activator.CreateInstance
吗?与您尝试实例化的类型在同一个程序集中?似乎是
namespaceName
应该调用
assemblyName
。。!拍摄@Chris。有人帮我改了:)