khosro goudarzi Ответов: 1

Не реализует наследуемый абстрактный член


Привет У меня есть абстрактный класс

public abstract class Service
    {
        public abstract void DoWork();

    }


и вложенные классы

public class Updater : Service
 {

 }


и

public class Sweeper : Service
{
    public string Path
    {
        get;
        set;
    }

    public int DaysToKeep
    {
        get;
        set;
    }
}


но когда я хочу построить проект, он выдает мне ошибку :
'MyService.Sweeper' does not implement inherited abstract member 'MultiPurposeService.Service.DoWork() '


Что я уже пробовал:

устраните эту ошибку :
не реализует наследуемый абстрактный член

1 Ответов

Рейтинг:
12

Kornfeld Eliyahu Peter

Иногда чтение документации об ошибке может быть хорошей идеей...

MSDN[^]:
Класс необходим для реализации всех абстрактных членов в базовом классе, если только класс также не является абстрактным.

И если вы спросите себя, почему... Абстрактные методы не имеют реализации по определению, однако теперь вы создали новый класс - Sweeper - который имеет (унаследовал) метод - DoWork.
Что должно произойти, когда вы позвоните Метельщику.Метода dowork? Какой-то бардак, так как у этого метода вообще нет реализации. Поэтому первый неабстрактный класс в цепочке должен реализовать метод...