【问题标题】:C# Inheritance with Different Assembly具有不同程序集的 C# 继承
【发布时间】:2018-12-12 11:34:48
【问题描述】:

我在程序集 A 中有类 A 具有基本功能,我不想更改功能。我在程序集 B 中有另一个 B 类,其中 B 覆盖了 A 的功能。 现在我想访问程序集 C 中 C 类中 A 的属性/方法,我在 C 中添加了 B 的引用。

我该怎么办?

【问题讨论】:

  • 首先,请显示A、B、C的代码。另外请使用比A、B、C更好的名称。也许,FruitCitrusOrange。另外,请提供minimal reproducible example
  • 如果您没有直接从@987654329 使用任何A 类方法或属性,则需要在C 程序集中添加A.dll 的引用才能访问A 类方法@ 那你就不需要了

标签: c# inheritance overriding .net-assembly


【解决方案1】:

程序集 C 需要引用程序集 A 和 B。然后试试这是您的代码:

public abstract class ClassA
{
    public virtual void SayHelloFromA()
    {
        Console.WriteLine("Hello From A");
    }
}

public class ClassB : ClassA
{
    public void SayHelloFromB()
    {
        Console.WriteLine("Hello From B");
    }
}

public class ClassC
{
    public void SayHello()
    {
        var b = new ClassB();
        b.SayHelloFromA();
        b.SayHelloFromB();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 2023-03-14
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    相关资源
    最近更新 更多