The namespaces conception in C# seems to be exhaustive and insufficient at the same time compared with a strong module notation in Oberon-2 and even with a modular programming approaches in Free Pascal/Delphi.
Why insufficient? You cannot declare constants and functions within namespaces but you should add a class with constant field or static method for it.
Why exhaustive? The using directive with such introduced classes is the source of unexpected errors. Here is an example below.