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
Référence
Mots clés d'espaces de noms (Référence C#)