If I have an abstract class similar to the one below:
public abstract class Foo : Monobehaviour
{
public abstract void DoSomething ();
}
and another abstract class (we'll call it "Bar") that inherits from Foo, should I be able to override DoSomething and keep it abstract? That is, I want a class that inherits from Bar to have to implement DoSomething, but I don't want Bar itself to implement the method (even with an empty body, because then a class that inherits from Bar wouldn't be forced to implement it). The MSDN docs for inheritance imply that it should be doable when they say "Derived classes that are not abstract themselves must provide the implementation for any abstract methods from an abstract base class[,]" but don't state so explicitly. Writing
public abstract class Bar : Foo
{
public abstract override void DoSomething ();
}
still generates a `'Bar' does not implement inherited abstract member 'Foo.DoSomething()'` error. Is this an error on my part, or is something wonky with Mono?