Objektorientierung: Namensräume

Namensräume werden benutzt, um Klassen und / oder Enumerationen (dazu später mehr) zu gruppieren. Namensräume kennzeichnen sich durch das Schlüsselwort namespace und den Namen des Namensraums und bilden dabei immer einen Block.
Normalerweise haben Programme immer nur einen Namensraum. Bei sehr großen Projekten, bei denen es viele Klassen gibt, macht es jedoch schon Sinn, mehrere Namensräume zu erstellen. Bei sehr großen Projekten ist es des Weiteren u. U. notwendig, Namensräume zu verschachteln. Eine solche Verschachtelung kann auf 2 Arten erzeugt werden: Die 1. Möglichkeit wäre die hierarchische Verschachtelung von namespace-Blöcken. Bei der 2. Möglichkeit werden die einzelnen Namen in einem namespace-Block durch einen Punkt getrennt. Im Beispiel haben wir die 2. Möglichkeit verwendet.
Nachdem wir nun Namensräume erstellen können, müssen wir noch wissen, wie wir von einem anderen Namensraum darauf zugreifen können. Hierfür benötigen wir das Schlüsselwort using. Mit using können wir einen Namensraum einbinden. Bei dieser Einbindung müssen wir den Namen notieren, welcher in der Deklaration des Namensraums angegeben wurde.

Program.cs

using System;
using CSV20.Namensräume.Hilfsklassen;

namespace CSV20.Namensräume
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(CSHelper.WillkommensNachricht());

            // falls nicht der komplette Namensraum eingebunden wird (also ohne "using CSV20.Namensräume.Hilfsklassen;")
            // könnten wir auch wie folgt auf den Namensraum zugreifen;
            //  - CSV20.Namensräume.Hilfsklassen.CSHelper.WillkommensNachricht()
            //  - Namensräume.Hilfsklassen.CSHelper.WillkommensNachricht();
            //  - Hilfsklassen.CSHelper.WillkommensNachricht();

            Console.ReadKey();
        }
    }
}

CSHelper.cs
using System;

namespace CSV20.Namensräume.Hilfsklassen
{
    public class CSHelper
    {
        public static string WillkommensNachricht()
        {
            return "Hallo und Willkommen!";
        }
    }
}
Download

LinksRechts