gpt4 book ai didi

c# - assembly.CreateInstance 返回 null

转载 作者:行者123 更新时间:2023-11-30 13:29:01 25 4
gpt4 key购买 nike

我正在使用 assembly.CreateInstance,它返回 null,虽然在具有相同 DLL 文件“程序集文件”的不同项目中使用它很好,您能否提出返回 null 的原因和原因?请这很紧急??

编辑

我正在搜索的类型有一个默认构造函数,但它实现了另一个接口(interface),如下所示。 Project1,具有接口(interface) A,并使包含新类型的 DLL 成为实现 A 的 typeB。Project2,具有相同的接口(interface) A,并使用“CreateInstance”方法定位类型 typeB,但此处 CreateInstance 返回 null,有什么建议吗?

最佳答案

怀疑它是否适用于此,但有 1 个边缘情况 CreateInstance返回 null (即 Nullable<T> )和一个极端 corner-case( ProxyAttribute ,讨论了 here ),其中常规类可以构造为 null .

但更有可能:

  • 它不存在(可能是名字错误)
  • 您正在使用 as ,并且接口(interface)没有实现(也许接口(interface)在两个不同的程序集中声明;它在每个程序集中分别算作不同接口(interface),即使名称和命名空间相同)

从编辑来看,听起来像是最后一点;您应该定义一次接口(interface),并在程序集之间定义一个引用,以便其他程序集可以看到(并实现)该接口(interface)。

关于c# - assembly.CreateInstance 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3128360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com