gpt4 book ai didi

c# - 具有相同方法名称的多级继承c#

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

我这里一直卡在一个情况,是交给我的现有代码,

class A
{
public string helloworld()
{
return "A";
}
}

class B : A
{
public string helloworld()
{

return "B";
}
}

class C: B
{
public string hi()
{
if(condition1)
{
return helloworld(); // From class A
}
else
{
return helloworld(); // From class B
}
}
}

场景是这样的,在特定条件下它应该返回类 A 的方法,否则它应该返回类 B 的方法我该如何实现这一目标,因为输出始终为“B”

最佳答案

if (condition1)
{
return ((A)this).helloworld(); // From class A
}
else
{
return ((B)this).helloworld(); // From class B
}

此外,如果 B 的源代码在您的控制之下,您应该将 new 关键字添加到其 helloworld 的实现中(或者更好的是,完全重命名它以避免隐藏),但是 C.hi 中的解决方案仍然是相同的。

关于c# - 具有相同方法名称的多级继承c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28083741/

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