所以,我的程序在其资源中有一个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异常。也许这会有所帮助吗?
答案 0 :(得分:1)
尝试使用Func
类的完整类型名称。如果命名空间为Func
且类型为Func
,则应尝试使用:
Type type = assembly.GetType("Func.Func");
答案 1 :(得分:1)
您可以使用GetType("Func.Func")
,只要程序集成功加载,它就会在名为Func的命名空间中返回一个名为Func的类。