У меня есть сомнение, что статический класс может содержать частный конструктор.Можем ли мы иметь частный конструктор в статическом классе?
ответ
Статических классы не могут иметь экземпляр конструкторов
http://msdn.microsoft.com/en-us/library/79b3xss3.aspx
Ниже приведены основные характеристики статического класса:
- Содержит только статические элементы.
- Невозможно создать экземпляр.
- Запечатан.
- Не может содержать конструкторы экземпляров.
Статический класс не может иметь любой конструктор экземпляра (см. CS0710), будь то открытый, закрытый, защищенный или внутренний.
См. Следующую статью для получения дополнительной информации.
Static Classes and Static Class Members (C# Programming Guide)
@jonathan: Я рассматриваю «открытый статический класс» в Reflector ildasm, но могу найти только статический конструктор 'private static void .cctor(). Где будет этот конструктор частного экземпляра? –
Что бы этот конструктор сделать? Класс статический, поэтому он никогда не создается. У вас может быть статический конструктор нестатического класса для инициализации статических полей, но в статическом классе единственным конструктором, который имеет смысл, является статический конструктор, который называется CLR.
Добавление: Jon Skeet posted an article о время инициализации статического класса (как правило, он инициализируется при первом использовании, но иногда вы хотите инициализировать его при запуске программы) и изменение возможно в .net 4.
@ Джонатан Вау, это странно. Я пытаюсь думать, как это когда-либо было бы полезно, но по мере того, как они заменяли это, я думаю, что у них был тот же вывод :) –
@ Джонатан сообщает CLR, что класс _static_ не может быть создан для Real? –
Ваши сомнения верны.
Статический класс может иметь только статический конструктор, а public/private не применяется, так как ваш код никогда не может вызвать этот конструктор (CLR).
Таким образом, вы не можете использовать модификатор доступа (public/private/...) в статическом конструкторе.
правила статические классы не могут иметь экземпляр конструкторы
- 1. Можем ли мы иметь утечку памяти при статическом распределении памяти?
- 2. Можем ли мы иметь конструктор для вложенного класса?
- 3. Частный конструктор в абстрактном классе Scala?
- 4. Хорошо ли иметь конструктор в абстрактном классе?
- 5. Статический класс VS Частный конструктор
- 6. Можем ли мы иметь опоры в оповещениях?
- 7. Можем ли мы иметь назначение в состоянии?
- 8. Можем ли мы иметь AtomicEnum в Java?
- 9. частный конструктор
- 10. В классе PHP5, когда вызывается частный конструктор?
- 11. java - можем ли мы иметь слабую нить?
- 12. Можем ли мы иметь пустую базовую дорожку?
- 13. Неправильная практика иметь состояние в статическом классе?
- 14. Можем ли мы иметь массив из коллекции?
- 15. Можем ли мы иметь внешний файл NoScript?
- 16. Можем ли мы иметь набор пользовательских модулей?
- 17. можем ли мы иметь sql без цикла?
- 18. Можем ли мы иметь инициализаторы в Enum в Swift?
- 19. Можем ли мы когда-либо иметь две копии в статическом поле в JAVA
- 20. Частный член в классе
- 21. Как мы можем протестировать пакет-частный класс?
- 22. C# возможно иметь конструктор в абстрактном классе?
- 23. Можем ли мы создать конструктор экземпляра класса virtual в C++
- 24. Можем ли мы иметь разделы в разделе в таблице Hive?
- 25. Частный конструктор
- 26. Можем ли мы иметь методы Api в классе Api в backend
- 27. можем ли мы иметь статический блок в нестационарном классе в java?
- 28. Можем ли мы объявить конструктор имени __constructor и класса в том же классе?
- 29. Как мы можем иметь @variable в JOOQ?
- 30. Можем ли мы иметь тело для конструктора по умолчанию в C# во время выполнения?
Если у вас есть Visual Studio (или аналогичный) установлен, я думаю, что это займет у Вас менее 1 минуты, чтобы собрать и проверить это для себя ... –
Иоганну, что нет никаких оснований не спросите об этом. См. Часто задаваемые вопросы. –