c# - 继承具有相同命名空间和相同类名的类

标签 c# class inheritance namespaces .net-assembly

我设法在 2 节课中解决了这个问题,但我在 3 节课中失败了。 假设我有一个程序集 A.DLL,它的 namespace = "City"和一个类 = "NY"

(我将在我的问题中将此类称为“A”)

在我的新项目中,我的命名空间是 =“City”,我有一个类 =“NY”(我将在我的问题中将此类称为“B”)

所以要实现 B : A(B 继承/扩展自 A) 我为引用 A.DLL 创建了一个 alies 并在“B”类中引用“外部别名 oldDll”

namespace City
{
    extern alias oldDll;

    public class NY : oldDll::City.NY
    {
        public NY() : base()
        {
        }
    }
}

这很好用! :)

问题是当我尝试在另一个仅引用 B.DLL 的程序集中使用新的程序集(B.DLL/“B”类)时(我将在我的问题中将此类称为“C”)并创建一个新实例“City.NY” 我得到一个异常,我认为这是因为“A.DLL”没有加载。

如何从 B 加载它(如果这是问题所在)?我无权访问“C.EXE”或 C 代码(他只是从 B.DLL 创建 City.NY)。 *注意:我不能重新编译C,我只能运行它。

所以我有一个类“C”,它创建了一个类“B”,它继承自“A”

我想到在“B”代码中手动加载“A.DLL”程序集,但首先发生的是 base() 构造函数..:\

感谢帮助

最佳答案

请纠正我,因为我不是 100% 确定,但通常你必须引用两个程序集才能使其正常工作(这就是某些包具有依赖项的方式,也必须在项目中下载和引用)。

我认为如果不缺少程序集,它也不会编译。

关于c# - 继承具有相同命名空间和相同类名的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30117121/

相关文章:

c# - 如何在Windows Phone类库项目中使用ResourceDictionary

c# - Compact Framework/Threading - MessageBox 在选择选项后显示在其他控件之上

C++类,调用成员函数时出现段错误

c++ - 模板类错误 C++

python - Flask-SQLAlchemy 单表继承

c - c中的多级继承

c# - 模棱两可的调用匹配困惑

c# - 在 Canvas 中放置对象

Java-将对象数据保存到文件

Python type() 不给出确切的类类型而是给出元类类型