я совсем немного поисков, я думал, что я получил право шаблон, но он все еще не компиляции, я бы очень признателен за руку ...C# переопределить абстрактный метод общего типа
У меня есть общий класс :
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;
}
}
Теперь я получаю эти 2 компиляции Ошибки:
Ошибка 1 '' iSine46.CInverter не реализуют унаследовали абстрактный член 'iSine46.CTopology.Pcalc()'
Ошибка 2 'iSine46.CInverter.PCalc()': нет подходящего способа нашел переопределить
Visual Studio имеет функцию IntelliSense, которая помогает с этим. В производном классе введите «override PCalc» и нажмите enter. Visual Studio добавит правильный метод или свойство с помощью правых модификаторов. – Grax