Может ли одноэлементный класс быть статичным? - PullRequest
2 голосов
/ 25 августа 2010

Может ли одноэлементный класс быть статическим?

Ответы [ 5 ]

20 голосов
/ 25 августа 2010

Нет.Одиночный класс предназначен для создания экземпляра, потому что сам термин относится к экземпляру;если вы сделаете его статическим классом, вы не сможете создать из него одноэлементный объект.

7 голосов
/ 25 августа 2010

(Кошка, встречайте голубей.)

Да, но только на практике, а не в теории.

Синглтон - это класс, который может быть создан только один раз. Статический класс не может быть создан, поэтому его нельзя назвать синглтоном.

Тем не менее, поскольку мы говорим о C #, статические классы имеют конструкторы, поэтому он фактически создается, и может существовать только один экземпляр, так что для меня он выглядит как одиночка.

6 голосов
/ 25 августа 2010

Нет. Синглтон ссылается на один экземпляр класса. Статический класс не имеет экземпляров.

4 голосов
/ 25 августа 2010

Синглтон по определению является экземпляром, поэтому нет.

Но у вас может быть статический класс, в котором методы обращаются к закрытой статической переменной. Но это только подталкивает синглтон на уровень глубже.

0 голосов
/ 25 августа 2010

Синглтон не может быть статичным

...