gpt4 book ai didi

c# - 虚拟方法抛出新的 NotImplementedException();

转载 作者:太空宇宙 更新时间:2023-11-03 15:56:32 24 4
gpt4 key购买 nike

我有一个 A 类,一个继承的 B 类,以及另一个继承自 B 的 C 类。

在我的类 A 中,我只想定义一些方法而不是实现它,如果我将它声明为抽象的,我必须在我的继承类中实现它,而我不想要它。例如,我想在我的 C 类中实现该方法

这个过程是否正确?

 public class A 
{
public virtual string getValue()
{
throw new NotImplementedException();

}
....
}

第二类

public class B: A {...}

第三类

public class C:B {

public override string getValue()
{
...
//return a string

}

或者我必须使用界面?

最佳答案

您可以将方法标记为抽象方法并将 B 也设为抽象方法,这样只有 C 必须实现 getValue

您当然可以改用接口(interface),这取决于您实际在做什么。

如果您坚持使用 B 的实例而不使用接口(interface),我会使用 NotSupportedException 代替:

public virtual string getValue()
{
throw new NotSupportedException();
}

关于c# - 虚拟方法抛出新的 NotImplementedException();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23344614/

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