gpt4 book ai didi

C# 虚方法覆盖返回类型和方法参数

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

我想在抽象类中初始化具有确切名称的虚方法。

在类中,这是继承者覆盖方法,我可以覆盖:

  • 基方法的返回类型
  • 方法参数

向你展示,我真正想做的是这样的:

abstract class A
{
public virtual void Func1() { }
}

class B : A
{
override string Func1(int a, int b)
{
return (a + b).ToString();
}
}

我知道,C# 需要像在基类中一样使用返回类型/args,但在这种情况下可能有关键字 new 的一些提示?

最佳答案

您只能覆盖 确切的名称和参数。您可以new任何您想要的,但这并不是最重要的——只是在完全匹配的情况下隐藏。

我认为在您的情况下,您要么想要为所有可能的组合创建重载,要么创建一个单一的基本抽象方法,该方法采用可以包含您想要的参数的单一类型。

例子:

public abstract void Func1( MyArgumentsType input );

现在派生类必须覆盖一个方法,但您可以将一组可靠的参数传递给可以处理更多场景的方法。

多态性在这里对您有利,因为您可以将派生的参数类型传递给具有特定情况属性的方法。当然,这需要实现方法了解更派生的参数类型。

关于C# 虚方法覆盖返回类型和方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14201621/

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