gpt4 book ai didi

.net - 如何在不强制用户引用两个程序集的情况下从程序集中继承类

转载 作者:行者123 更新时间:2023-12-01 08:17:00 24 4
gpt4 key购买 nike

我在两个不同的 .NET 程序集中有两个类 A 和 B:AssemblyA 和 AssemblyB。

我希望 B 类继承 A 类,但我希望使用 B 类只需要引用 AssemblyB(而不是 AssemblyA 和 AssemblyB)。

由于项目的限制,我需要将两个程序集分开,所以我不能使用合并工具来合并这两个程序集。

请注意,类的实际继承不是必须的 - 我希望能够让 A 的逻辑作为类 B 的一部分在 AssemblyB 中运行,同时尽可能少地重写功能。

有没有办法做到这一点?

最佳答案

没有。以这种方式思考 - 假设你输入以下内容:

public class B : A
{
public void Foo()
{
this.// Cursor is here
}
}

如果 Intellisense 不知道 A 类中的内容,您如何期望它知道可用的内容?编译器如何能够验证方法调用等?

必须一直了解继承链上的父类。这意味着引用这两个项目。如果您不想这样做,请不要使用继承 - 让 B 组成 A 而不是从中派生。用户在执行时仍然需要 A 的二进制文件,但我认为他们不需要在 Visual Studio 中添加引用。 (另一方面,如果他们要调试代码,他们可能无论如何都想确保二进制文件位于正确的位置...)

关于.net - 如何在不强制用户引用两个程序集的情况下从程序集中继承类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457128/

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