Здравствуйте, _FRED_, Вы писали:
_FR>Это, с определённой точки зрения, совсем не то же самое, что и методы и поля на уровне пространств имён (неймспейсов по-нашему).
_FR>Модуль, концептуально, это больше про физическое разделение кода, а пространства имён — про логическое. Я б не стал одно через другое.
Не очень понятно, чего хочется достичь.
При потреблении отличий между "функциями/константами в неймспейсе" и "фукнциями/константами в классе" не очень много:
namespace Foo // воображаемый синтаксис
{
const int X = 42;
int Bar(int a) => a ^ 37;
}
public static class Foo // существующий синтаксис
{
static const int X = 42;
static int Bar(int a) => a ^ 37;
}
...
var x = Foo.Bar(Foo.X); // выглядит одинаково
...
using Foo; // в воображаемом синтаксисе
var x = Bar(X);
using static Foo; // в существующем синтаксисе
var x = Bar(X);
Т.е. синтаксически расположение констант и методов внутри "неймспейса Foo" уже реализовано. См. напр.
using static System.Math.
Единственное, ради чего может захотеться "свободных" функций и констант — размещение напрямую в неймспейсе global::
Ну, вот его-то и позволяют достичь модули.