namespace (référence C#)namespace (C# Reference)

Le mot clé namespace est utilisé pour déclarer une portée qui contient un ensemble d’objets connexes.The namespace keyword is used to declare a scope that contains a set of related objects. Vous pouvez utiliser un espace de noms pour organiser les éléments de code et créer des types globaux uniques.You can use a namespace to organize code elements and to create globally unique types.


namespace SampleNamespace
{
    class SampleClass { }

    interface ISampleInterface { }

    struct SampleStruct { }

    enum SampleEnum { a, b }

    delegate void SampleDelegate(int i);

    namespace SampleNamespace.Nested
    {
        class SampleClass2 { }
    }
}

NotesRemarks

Dans un espace de noms, vous pouvez déclarer un ou plusieurs des types suivants :Within a namespace, you can declare one or more of the following types:

Le compilateur ajoute un espace de noms par défaut, que vous déclariez ou non explicitement un espace de noms dans un fichier source C#.Whether or not you explicitly declare a namespace in a C# source file, the compiler adds a default namespace. Cet espace de noms sans nom, parfois appelé espace de noms global, est présent dans chaque fichier.This unnamed namespace, sometimes referred to as the global namespace, is present in every file. Tout identificateur dans l’espace de noms global peut être utilisé dans un espace de noms nommé.Any identifier in the global namespace is available for use in a named namespace.

Les espaces de noms ont implicitement un accès public, et cela n’est pas modifiable.Namespaces implicitly have public access and this is not modifiable. Consultez Modificateurs d’accès pour connaître les modificateurs d’accès que vous pouvez assigner à des éléments dans un espace de noms.For a discussion of the access modifiers you can assign to elements in a namespace, see Access Modifiers.

Il est possible de définir un espace de noms dans deux déclarations ou plus.It is possible to define a namespace in two or more declarations. Par exemple, l’exemple suivant définit deux classes comme appartenant à l’espace de noms MyCompany :For example, the following example defines two classes as part of the MyCompany namespace:

namespace MyCompany.Proj1
{
    class MyClass
    {
    }
}

namespace MyCompany.Proj1
{
    class MyClass1
    {
    }
}

ExempleExample

L’exemple suivant montre comment appeler une méthode statique dans un espace de noms imbriqué.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

Pour plus d'informationsFor More Information

Pour plus d’informations sur l’utilisation des espaces de noms, consultez les rubriques suivantes :For more information about using namespaces, see the following topics:

Spécification du langage C#C# Language Specification

Pour plus d'informations, voir la spécification du langage C#.For more information, see the C# Language Specification. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.The language specification is the definitive source for C# syntax and usage.

Voir aussiSee Also

Référence C#C# Reference
Guide de programmation C#C# Programming Guide
Mots clés C#C# Keywords
Mots clés d’espaces de nomsNamespace Keywords
usingusing