因此,我的程序在其资源中有一个DLL,我尝试这样读取它:
Assembly assembly = Assembly.Load(Resources.func);
Type type = assembly.GetType("Func");
dynamic functions = Activator.CreateInstance(type);
functions.Test();由于某种原因,它一直在这一行抛出一个空错误:
dynamic functions = Activator.CreateInstance(type);DLL的命名空间是Func,类名也是Func。有人能帮我吗?我已经用谷歌搜索了一个小时,但我就是找不到解决方案。
更新
当我将类设为非静态的,并使用assembly.GetType("Func.Func");时,当我执行functions.Test();时,它抛出一个RuntimeBinder异常。也许这会更有帮助呢?
发布于 2013-03-31 22:05:13
尝试使用Func类的完整类型名称。如果名称空间为Func,类型为Func,则应尝试使用:
Type type = assembly.GetType("Func.Func");发布于 2013-03-31 22:18:39
你可以使用GetType("Func.Func"),只要程序集被成功加载,它就会在一个名为Func的命名空间中返回一个名为Func的类。
https://stackoverflow.com/questions/15730188
复制相似问题