首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从dll的资源加载dll

从dll的资源加载dll
EN

Stack Overflow用户
提问于 2013-03-31 22:02:34
回答 2查看 93关注 0票数 1

因此,我的程序在其资源中有一个DLL,我尝试这样读取它:

代码语言:javascript
复制
        Assembly assembly = Assembly.Load(Resources.func);
        Type type = assembly.GetType("Func");
        dynamic functions = Activator.CreateInstance(type);
        functions.Test();

由于某种原因,它一直在这一行抛出一个空错误:

代码语言:javascript
复制
dynamic functions = Activator.CreateInstance(type);

DLL的命名空间是Func,类名也是Func。有人能帮我吗?我已经用谷歌搜索了一个小时,但我就是找不到解决方案。

更新

当我将类设为非静态的,并使用assembly.GetType("Func.Func");时,当我执行functions.Test();时,它抛出一个RuntimeBinder异常。也许这会更有帮助呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-31 22:05:13

尝试使用Func类的完整类型名称。如果名称空间为Func,类型为Func,则应尝试使用:

代码语言:javascript
复制
Type type = assembly.GetType("Func.Func");
票数 1
EN

Stack Overflow用户

发布于 2013-03-31 22:18:39

你可以使用GetType("Func.Func"),只要程序集被成功加载,它就会在一个名为Func的命名空间中返回一个名为Func的类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15730188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档