Espace de noms C#
Les espaces de noms sont conçus 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'entre pas en conflit avec le nom de la même classe déclarée dans un autre espace de noms.
Définir un 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 la version d'espace de noms prise en charge d'une fonction ou d'une variable, le nom de l'espace de noms sera placé devant, comme indiqué ci-dessous :
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(); } }
Quand ce qui précède Lorsque le code est compilé et exécuté, il produit les résultats suivants :
Inside first_space Inside second_space
using mot-clé
Le mot-clé using indique que le programme utilise un nom du espace de noms donné. Par exemple, nous utilisons l'espace de noms System dans notre programme, qui définit la classe Console. Nous pouvons simplement écrire :
Console.WriteLine ("Hello there");
Nous pouvons écrire le nom complet, comme suit :
System.Console.WriteLine("Hello there");
Vous pouvez également utiliser la directive using namespace, pour ne pas avoir à le faire placez-le devant lorsque vous l'utilisez Plus 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
Espaces de noms imbriqués
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 utiliser l'opérateur point ( L'opérateur .) accède aux membres d'un espace de noms imbriqué 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
Ce qui précède est le contenu du [tutoriel c#] Espace de noms C# (Namespace ). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !