Hi,
Can singleton class be static?
No. Singleton referes to single instance of the class. Static class does not have instances.
A singleton is by definition an instance, so no.
But, you could have a static class where the methods access a private static variable. But that is just pushing the singleton a level deeper.
No. A singleton class is meant to be instantiated, because the term itself refers to an instance; if you make it a static class, you can't create a singleton object out of it.
(Cat, meet pigeons.)
Yes, but only in practice, not in theory.
A singleton is a class that can only be instantiated once. A static class cannot be instantiated, so it cannot be called a singleton.
However, since we're talking about C#, static classes have constructors, so it is in effect being instantiated, and there can only ever be one instance so that to me looks a lot like a singleton.