views:

179

answers:

5

Hi,

Can singleton class be static?

+6  A: 

No. Singleton referes to single instance of the class. Static class does not have instances.

Ladislav Mrnka
+4  A: 

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.

Hans Kesting
+14  A: 

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.

BoltClock
+1: A Singleton class may have a static method, through which you get the instance of the singleton object.
Binary Worrier
+2  A: 

(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.

Matt Ellen
A: 

No singleton cannot be static

stacknewbee