【发布时间】:2014-09-11 06:09:23
【问题描述】:
我做了很多搜索,我认为我得到了正确的模式,但它仍然没有编译,我真的很感谢你的帮助......
我有一个通用类:
public abstract class CTopology<TTopology> { protected abstract TTopology Pcalc(); public TTopology PLosses() { do something return this.PCalc() }
然后是派生类
public class CInverter : CTopology<CPBoost>
{
protected override CPInv PCalc()
{
CPInv Calc = new CPInv();
do something
return Calc;
}
}
现在我得到了这两个编译错误:
错误 1 'iSine46.CInverter' 没有实现继承的抽象成员 'iSine46.CTopology.Pcalc()'
错误 2 'iSine46.CInverter.PCalc()': 找不到合适的方法来覆盖
【问题讨论】:
-
Visual Studio 有一个智能感知功能可以帮助解决这个问题。在派生类中,输入“override PCalc”并回车。 Visual Studio 将使用正确的修饰符放入正确的方法或属性。
标签: c# generics methods overriding abstract