I need to create a set of static classes and all of them need to implement the same methods. I want to find a way to force them so.
I understand that static classes cannot derive anything other than System.Object. Should I use non-static methods for this? It could be, but none of the methods of this class will use instance properties...
My best shot is that I should use a singleton. I'll use an instance then, but at least I am not forced to instantiate the class every time I need to use a method.
What is the alternative that you suggest?
EDIT:
I will not implement those methods. I need to force other developers to implement specific methods with specific signatures. All signatures are the same for every class. That's it.
Imagine you have a static class that gets the records from a database in your office. You have several methods to do it. Since none of these methods share variables they are marked as static and so is the class.
Now, you and other developers in your team have to do the same for other databases or even APIs outside your control, it doesn't matter. You want to force your colleagues to implement all of those classes with the exact same methods with the same signatures.
Your comments are always welcome, but now I just want to find the closest way to do this.
I could use an abstract class from which all others would inherit. But since these methods don't share anything, I would prefer not to instantiate the class every time I need them.
That's why I mentioned using the singleton pattern. Shouldn't I do it?