gpt4 book ai didi

C# 覆盖抽象方法(包括输入参数)

转载 作者:行者123 更新时间:2023-11-30 20:07:41 25 4
gpt4 key购买 nike

在 C# 中可以做这样的事情

public absctract class ImportBase()
{
public abstract void CreateDocument();
}
public class UsingOne : ImportBase
{
public override bool CreateDocument(string name)
{
return null;
}
}

我想要一些基类,它只有一些方法,但在派生类中我需要更改输入参数和方法内部。

最佳答案

您没有覆盖该方法。拥有抽象(或虚拟)方法的要点是给定任何 ImportBase,我应该能够调用

importBase.CreateDocument();

对于UsingOne,显然不是这种情况,因为它需要更多信息。因此,您实际上是在尝试将调用者绑定(bind)到 UsingOne,而不仅仅是 ImportBase - 此时您已经失去了多态性的好处。

要覆盖一个方法,实现必须具有相同的签名,基本上。

关于C# 覆盖抽象方法(包括输入参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8094975/

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