I recently ran into a problem where it seems I need a 'static abstract' method. I know why it is impossible, but how to work around?
For example I have an abstract class which have a description string. Since this string is common for all instances it is marked as static, but I want to require that all classes derived from this class provide its own Description property so I marked it as abstract:
abstract class AbstractBase
{
...
public static abstract string Description{get;}
...
}
It won't compile of course. I thought of using interfaces but interfaces may not contain static method signatures.
Should I make it simply non-static, and always get an instance to get that class specific information?
Any ideas?