Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Activator在另一个程序集中创建类型的实例_C#_.net_Reflection - Fatal编程技术网

C# 使用Activator在另一个程序集中创建类型的实例

C# 使用Activator在另一个程序集中创建类型的实例,c#,.net,reflection,C#,.net,Reflection,我正在尝试在引用的程序集中创建类型的实例 var obj = Activator.CreateInstance("Config", "Config.TypeName"); var RunMethodInfo = obj.GetType().GetMethod("Run"); //null get方法返回null尽管run方法存在并且激活器似乎创建了实例,但run方法是公共的,知道GetMethod为什么返回null吗?我只需要调用Unwrap()就可以了 var obj = Activator

我正在尝试在引用的程序集中创建类型的实例

var obj = Activator.CreateInstance("Config", "Config.TypeName");
var RunMethodInfo = obj.GetType().GetMethod("Run"); //null

get方法返回null尽管run方法存在并且激活器似乎创建了实例,但run方法是公共的,知道GetMethod为什么返回null吗?

我只需要调用Unwrap()就可以了

var obj = Activator.CreateInstance("Config", "Config.TypeName").Unwrap();
var RunMethodInfo = obj.GetType().GetMethod("Run");

请尝试
obj.GetType().GetMethods()
并查看返回的内容…运行
时是什么样子的?它是实例方法吗?什么参数?您必须共享引用部件的零件才能帮助您完成此操作。
activator.createinstance
的第一个参数应该是程序集名称:物理文件名。第二个参数应该是确切的类型。查看msdn了解更多信息:感谢所有人的帮助,我找到了答案。