Namespace (C#-Referenz)namespace (C# Reference)

Das namespace-Schlüsselwort wird verwendet, um einen Gültigkeitsbereich zu deklarieren, der eine Gruppe von verwandten Objekten enthält.The namespace keyword is used to declare a scope that contains a set of related objects. Sie können einen Namespace verwenden, um Codeelemente zu organisieren und global eindeutige Typen zu erstellen.You can use a namespace to organize code elements and to create globally unique types.


namespace SampleNamespace
{
    class SampleClass { }

    interface SampleInterface { }

    struct SampleStruct { }

    enum SampleEnum { a, b }

    delegate void SampleDelegate(int i);

    namespace SampleNamespace.Nested
    {
        class SampleClass2 { }
    }
}

HinweiseRemarks

Innerhalb eines Namespace können Sie einen oder mehrere der folgenden Typen deklarieren:Within a namespace, you can declare one or more of the following types:

Unabhängig davon, ob Sie einen Namespace in einer C#-Quelldatei explizit deklarieren, fügt der Compiler einen Standardnamespace hinzu.Whether or not you explicitly declare a namespace in a C# source file, the compiler adds a default namespace. Dieser unbenannte Namespace, der manchmal auch als der globale Namespace bezeichnet wird, ist in jeder Datei vorhanden.This unnamed namespace, sometimes referred to as the global namespace, is present in every file. Jeder Bezeichner im globalen Namespace ist für die Verwendung in einem benannten Namespace verfügbar.Any identifier in the global namespace is available for use in a named namespace.

Namespaces verfügen implizit über öffentlichen Zugriff, und dies kann nicht geändert werden.Namespaces implicitly have public access and this is not modifiable. Eine Erläuterung der Zugriffsmodifizierer, die Sie einem Element in einem Namespace zuweisen können, finden Sie unter Zugriffsmodifizierer.For a discussion of the access modifiers you can assign to elements in a namespace, see Access Modifiers.

Es ist möglich, einen Namespace in zwei oder mehr Deklarationen zu definieren.It is possible to define a namespace in two or more declarations. Im folgenden Beispiel werden beispielsweise zwei Klassen als Teil des MyCompany-Namespace definiert:For example, the following example defines two classes as part of the MyCompany namespace:

namespace MyCompany.Proj1
{
    class MyClass
    {
    }
}

namespace MyCompany.Proj1
{
    class MyClass1
    {
    }
}

BeispielExample

Im folgenden Beispiel wird veranschaulicht, wie eine statische Methode in einem geschachtelten Namespace aufgerufen wird.The following example shows how to call a static method in a nested namespace.

namespace SomeNameSpace
{
    public class MyClass 
    {
        static void Main() 
        {
            Nested.NestedNameSpaceClass.SayHello();
        }
    }

    // a nested namespace
    namespace Nested   
    {
        public class NestedNameSpaceClass 
        {
            public static void SayHello() 
            {
                Console.WriteLine("Hello");
            }
        }
    }
}
// Output: Hello

Weitere InformationenFor More Information

Weitere Informationen zur Verwendung von Namespaces finden Sie in den folgenden Themen:For more information about using namespaces, see the following topics:

C#-ProgrammiersprachenspezifikationC# Language Specification

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auchSee Also

C#-ReferenzC# Reference
C#-ProgrammierhandbuchC# Programming Guide
C#-SchlüsselwörterC# Keywords
NamespaceschlüsselwörterNamespace Keywords
usingusing