namespace (Référence C#)

Mise à jour : novembre 2007

Le mot clé namespace permet de déclarer une portée. Cette portée d'espace de noms vous permet d'organiser le code et de créer des types globaux uniques.

namespace SampleNamespace
{
    class SampleClass { }

    interface SampleInterface { }

    struct SampleStruct { }

    enum SampleEnum { a, b }

    delegate void SampleDelegate(int i);

    namespace SampleNamespace.Nested
    {
        class SampleClass2 { }
    }
}

Notes

Au sein d'un espace de noms, vous pouvez déclarer un ou plusieurs des types suivants :

Que vous déclariez ou pas explicitement un espace de noms dans un fichier source C#, le compilateur ajoute un espace de noms par défaut. Cet espace de noms sans nom, parfois appelé espace de noms global, est présent dans chaque fichier. Tout identificateur dans l'espace de noms global est disponible pour être utilisé dans un espace de noms nommé.

Les espaces de noms disposent implicitement d'un accès public et cela ne peut pas être changé. Consultez Modificateurs d'accès (Référence C#) pour en savoir plus sur les modificateurs d'accès que vous pouvez assigner à des éléments dans un espace de noms.

Il est possible de définir un espace de noms dans deux déclarations ou plus. Par exemple, le code suivant définit deux classes comme appartenant à l'espace de noms MyCompany :

namespace MyCompany.Proj1
{
    class MyClass
    {
    }
}

namespace MyCompany.Proj1
{
    class MyClass1
    {
    }
}

Exemple

L'exemple suivant montre comment appeler une méthode statique dans un espace de noms imbriqué.

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

Pour plus d'informations

Pour plus d'informations sur l'utilisation des espaces de noms, consultez les rubriques suivantes :

Spécification du langage C#

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 3.4.1 Membres d'espace de noms

  • 3.8 Noms d'espaces de noms et de types

  • 9 Espaces de noms

Voir aussi

Concepts

Guide de programmation C#

Référence

Mots clés C#

Mots clés d'espaces de noms (Référence C#)

using (Référence C#)

Autres ressources

Référence C#