How to force a derived class implement a grandparent method

time to read 2 min | 246 words

I just found out how to force a derived class to implement a method defined in the grandparent class. It's probably a contender to WTF, but here is the reasoning for doing such a strage thing. I've an abstract class which I'm using as a base class for several strategies. I want to make sure that I don't have duplicate strategies, so I want all my strategies to implement Equals(). The code is simple:
 
public abstract class BaseStrategyThatForceEquals
{
  public override abstract Equals(object o);
}

Define an abstract class which override Equals as an abstract method.

Spooky, but useful.

"A computer scientist is someone who fixes things that aren't broken." -- Tech Support Slogan
"Performance proven: It works through beta test." -- Tech Support Slogan
"If it's stupid but works, it isn't stupid." -- Army Sergant

[Listening to: 6-14 Kajagoogoo - Too Shy - - (03:44)]