Reading the error's documentation can be good idea sometimes...
A class is required to implement all the abstract members in the base class, unless the class is also abstract.
And if you ask yourself why... Abstract methods has no implementation by definition, however, now you created a new class - Sweeper - which has (inherited) a method - DoWork.
What should happen when you call Sweeper.DoWork? Some mess, as there is no implementation at all to that method. Therefore, the first non-abstract class in the chain must implement the method...