Сообщение Re[7]: Константы. Класс или структура? от 04.07.2024 13:52
Изменено 04.07.2024 14:10 _FRED_
Исправил опечатку
Re[7]: Константы. Класс или структура?
Здравствуйте, Sinclair, Вы писали:
_FR>>Это, с определённой точки зрения, совсем не то же самое, что и методы и поля на уровне пространств имён (неймспейсов по-нашему).
_FR>>Модуль, концептуально, это больше про физическое разделение кода, а пространства имён — про логическое. Я б не стал одно через другое.
S>Не очень понятно, чего хочется достичь.
Напомню с чего всё началось: Константы. Класс или структура?
S>При потреблении отличий между "функциями/константами в неймспейсе" и "фукнциями/константами в классе" не очень много
В этом-то и дело.
S>Единственное, ради чего может захотеться "свободных" функций и констант — размещение напрямую в неймспейсе global::
S>Ну, вот его-то и позволяют достичь модули.
Но это совсем не то, на что я отвечал.
_FR>>Это, с определённой точки зрения, совсем не то же самое, что и методы и поля на уровне пространств имён (неймспейсов по-нашему).
_FR>>Модуль, концептуально, это больше про физическое разделение кода, а пространства имён — про логическое. Я б не стал одно через другое.
S>Не очень понятно, чего хочется достичь.
Напомню с чего всё началось: Константы. Класс или структура?
Я как раз в отсутствии возможности объвления "констант и методов" на уровне неймспейса не вижу так как не вижу какой-либо необходимости в этом.Маразм Шарпа в том, что в нем нельзя объявить константу вне типа и тип используется в качестве пространства имен. По уму можно было допустить объявление:
namespace X { public const int Zero = 0; }
Но тогда CLR пришлось бы расширять первоклассной сущностью — константой. На этом решили сэкономить допустив только типы.
По той же причине сделали маразм с отсутствием глобальных функций (не методов).
S>При потреблении отличий между "функциями/константами в неймспейсе" и "фукнциями/константами в классе" не очень много
В этом-то и дело.
S>Единственное, ради чего может захотеться "свободных" функций и констант — размещение напрямую в неймспейсе global::
S>Ну, вот его-то и позволяют достичь модули.

Но это совсем не то, на что я отвечал.
Re[7]: Константы. Класс или структура?
Здравствуйте, Sinclair, Вы писали:
_FR>>Это, с определённой точки зрения, совсем не то же самое, что и методы и поля на уровне пространств имён (неймспейсов по-нашему).
_FR>>Модуль, концептуально, это больше про физическое разделение кода, а пространства имён — про логическое. Я б не стал одно через другое.
S>Не очень понятно, чего хочется достичь.
Напомню с чего всё началось: Константы. Класс или структура?
S>При потреблении отличий между "функциями/константами в неймспейсе" и "фукнциями/константами в классе" не очень много
В этом-то и дело.
S>Единственное, ради чего может захотеться "свободных" функций и констант — размещение напрямую в неймспейсе global::
S>Ну, вот его-то и позволяют достичь модули.
Но это совсем не то, на что я отвечал.
_FR>>Это, с определённой точки зрения, совсем не то же самое, что и методы и поля на уровне пространств имён (неймспейсов по-нашему).
_FR>>Модуль, концептуально, это больше про физическое разделение кода, а пространства имён — про логическое. Я б не стал одно через другое.
S>Не очень понятно, чего хочется достичь.
Напомню с чего всё началось: Константы. Класс или структура?
Я как раз в отсутствии возможности объвления "констант и методов" на уровне неймспейса "маразма" не вижу так как не вижу какой-либо необходимости в этом.Маразм Шарпа в том, что в нем нельзя объявить константу вне типа и тип используется в качестве пространства имен. По уму можно было допустить объявление:
namespace X { public const int Zero = 0; }
Но тогда CLR пришлось бы расширять первоклассной сущностью — константой. На этом решили сэкономить допустив только типы.
По той же причине сделали маразм с отсутствием глобальных функций (не методов).
S>При потреблении отличий между "функциями/константами в неймспейсе" и "фукнциями/константами в классе" не очень много
В этом-то и дело.
S>Единственное, ради чего может захотеться "свободных" функций и констант — размещение напрямую в неймспейсе global::
S>Ну, вот его-то и позволяют достичь модули.

Но это совсем не то, на что я отвечал.