1
31
当包含当前程序集引用的类型IPlugin的程序集与包含您正在迭代的类型的程序集引用的程序集之间不匹配时,通常会发生这种情况。 我建议您打印:
和
查看不匹配的位置。 |
2
12
当接口在一个单独的程序集中定义为实现类型时,我也遇到了同样的问题。 如上所述,迭代并从根文件夹加载程序集(其中包含带有类的dll和带有接口的dll)会导致类型不匹配。
克服此问题的另一种方法是将所有具有实现接口的类型的DLL放在单独的文件夹中,而不是复制引用的程序集(
|
3
10
试着做一点实验 在你的代码中,看看它是否有效。例如: 替换:
|
4
1
有时,动态程序集引用另一个程序集时会出现问题。
如果.NET不知道如何初始化类型,也可以实现程序集解析器。
|
5
1
如果您使用的是.net core,并且遵循 this link 然后请确保您记得将其添加到您的插件项目中
如链接中所述。如果没有,则会出现上述错误。 This also helped me |
6
0
我在Java中工作,它有相同的API方法,我只是无法在阅读代码时思考它(出于某种原因);因此,在你的例子中,我总是以相反的方式阅读它,因为“t可分配给IPlugin”。因此,如果C#has如Jonathon所建议的那样是“is”,我会一直使用它-在Java中反映时,“instanceof”不适用于类对象,只适用于对象的实例。 |
7
-2
当应用于测试继承或检测接口实现时,Type.IsAssignableFrom方法的名称模糊且容易混淆。以下用于这些目的的包装将更有意义:
此方法代替“is”关键字的优点是,它可以在运行时用于测试未知的任意类型,而“is”关键字(和泛型类型参数)需要特定类型的编译时知识。 |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |