Espace de noms C# (espace de noms)
L'espace de noms est conçu pour fournir un moyen de séparer un groupe de noms des autres noms. Le nom d'une classe déclarée dans un espace de noms n'est pas en conflit avec le nom de la même classe déclarée dans un autre espace de noms.
Définir l'espace de noms
La définition d'un espace de noms commence par le mot-clé namespace, suivi du nom de l'espace de noms, comme suit :
namespace namespace_name { // 代码声明 }
Afin d'appeler une fonction ou une variable qui prend en charge la version de l'espace de noms, le nom de l'espace de noms sera placé devant, comme suit :
namespace_name.item_name;
Le programme suivant démontre l'utilisation de l'espace de noms :
using System; namespace first_space { class namespace_cl { public void func() { Console.WriteLine("Inside first_space"); } } } namespace second_space { class namespace_cl { public void func() { Console.WriteLine("Inside second_space"); } } } class TestClass { static void Main(string[] args) { first_space.namespace_cl fc = new first_space.namespace_cl(); second_space.namespace_cl sc = new second_space.namespace_cl(); fc.func(); sc.func(); Console.ReadKey(); } }
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :
Inside first_space Inside second_space
using Keywords
using le mot-clé indique le procédure Le nom dans l'espace de noms donné est utilisé. Par exemple, nous utilisons l'espace de noms System dans notre programme, où la classe Console est définie. On peut simplement écrire :
Console.WriteLine ("Hello there");
On peut écrire le nom complet comme suit :
System.Console.WriteLine("Hello there");
Vous pouvez également utiliser la directive d'espace de noms using pour ne pas avoir pour ajouter le nom de l'espace de noms. Cette directive indique au compilateur que le code suivant utilise les noms de l'espace de noms spécifié. Le code suivant retarde l'application de l'espace de noms.
Réécrivons l'exemple ci-dessus en utilisant la spécification using :
using System; using first_space; using second_space; namespace first_space { class abc { public void func() { Console.WriteLine("Inside first_space"); } } } namespace second_space { class efg { public void func() { Console.WriteLine("Inside second_space"); } } } class TestClass { static void Main(string[] args) { abc fc = new abc(); efg sc = new efg(); fc.func(); sc.func(); Console.ReadKey(); } }
Lorsque le code ci-dessus est compilé et exécuté, il produira les résultats suivants :
Inside first_space Inside second_space
Nom imbriqué des espaces
Les espaces de noms peuvent être imbriqués, c'est-à-dire que vous pouvez définir un espace de noms dans un autre espace de noms, comme ceci :
namespace namespace_name1 { // 代码声明 namespace namespace_name2 { // 代码声明 } }
Vous pouvez accéder à l'imbrication en utilisant l'opérateur point (.) Définissez les membres de l'espace de noms comme suit :
using System; using first_space; using first_space.second_space; namespace first_space { class abc { public void func() { Console.WriteLine("Inside first_space"); } } namespace second_space { class efg { public void func() { Console.WriteLine("Inside second_space"); } } } } class TestClass { static void Main(string[] args) { abc fc = new abc(); efg sc = new efg(); fc.func(); sc.func(); Console.ReadKey(); } }
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants :
Inside first_space Inside second_space