gpt4 book ai didi

c# - C#中是否有方法继承

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

我想知道是否有像方法继承这样的特性而不是整个类继承,让我详细说明我想解释的内容:

class a {
public void GetA(){
// some logic here
}
}

class b {
public void GetB() : new Class().GetA()
}

我知道这看起来很奇怪,但我正在阅读如何在对象组合模式中进行委托(delegate),我出于某种原因想到了这种模式。

最佳答案

如果您只想在 GetB() 内部调用 GetA(),但不想在 GetB() 中定义或显式引用类 a 的实例,则可以将 GetA() 作为委托(delegate)传入。

在 C# 中,有许多预定义的委托(delegate),例如 ActionFunc .或者,您始终可以滚动自己的委托(delegate)来匹配方法签名。

    class a
{
public void GetA()
{
Console.WriteLine("Hello World!");
}
}

class b
{
// No explicit reference to class a of any kind.
public void GetB(Action action)
{
action();
}
}

class Program
{
static void Main(string[] args)
{
var a = new a();
var b = new b();

b.GetB(a.GetA);
}
}

关于c# - C#中是否有方法继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1972652/

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