【发布时间】:2019-12-16 22:40:03
【问题描述】:
我有一个基类和两个派生类:
public abstract class BaseClass {
public IEnumerable<Double> Inputs { get; protected set; }
public BaseClass(IEnumerable<Double> inputs) {
foreach (Double input in inputs)
Compute(input);
}
protected abstract Double Compute(Double input);
}
public abstract class DerivedClass1 : BaseClass {
protected abstract Double Compute(Double input);
}
public class DerivedClass2 : DerivedClass1 {
private override Double Compute(Double input) {
// Compute implementation
}
}
我在DerivedClass1 Compute 方法上收到错误:
'DerivedClass1.Compute(Double)' 隐藏继承的成员'BaseClass.Compute(Double)'。要使当前成员覆盖该实现,请添加 override 关键字。
如何解决?
【问题讨论】:
-
如错误所述,您可以在不覆盖的情况下覆盖成员。否则,如果它与 ot 派生的类是同一个成员,请不要提及。
标签: c# inheritance