gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 23:37:37 25 4
gpt4 key购买 nike

我设法在 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/

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