Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Comprendre les espaces de noms en C# : éviter les conflits de nommage

Un espace de noms (namespace) permet de séparer un ensemble de noms d'un autre. Les noms de classes dans un namespace n'entrent pas en conflit avec les mêmes noms dans un autre.

Définition d'un namespace

namespace nom_espace
{
    // déclarations de code
}

Pour appeler un membre : nom_espace.nom_membre

Exemple basique

using System;

namespace premier_espace
{
    class MaClasse
    {
        public void Methode() { Console.WriteLine("Dans premier_espace"); }
    }
}

namespace second_espace
{
    class MaClasse
    {
        public void Methode() { Console.WriteLine("Dans second_espace"); }
    }
}

class TestClasse
{
    static void Main(string[] args)
    {
        premier_espace.MaClasse fc = new premier_espace.MaClasse();
        second_espace.MaClasse sc = new second_espace.MaClasse();
        fc.Methode();
        sc.Methode();
        Console.ReadKey();
    }
}

Résultat :

Dans premier_espace
Dans second_espace

Le mot-clé using

Indique que le programme utilise les noms de l'espace de noms donné.

// Au lieu de System.Console.WriteLine
Console.WriteLine("Bonjour");

Directive using

Évite de préfixer les namespaces :

using System;
using premier_espace;
using second_espace;

namespace premier_espace { class Abc { public void Methode() { Console.WriteLine("Dans premier_espace"); } } }
namespace second_espace { class Efg { public void Methode() { Console.WriteLine("Dans second_espace"); } } }

class TestClasse
{
    static void Main(string[] args)
    {
        Abc fc = new Abc();
        Efg sc = new Efg();
        fc.Methode();
        sc.Methode();
        Console.ReadKey();
    }
}

Espaces de noms imbriqués

On peut définir un namespace dans un autre :

namespace espace_nom1
{
    namespace espace_nom2 { ... }
}

Accès via l'opérateur point : espace_nom1.espace_nom2.Membre

Exemple

using System;
using premier_espace;
using premier_espace.second_espace;

namespace premier_espace
{
    class Abc { public void Methode() { Console.WriteLine("Dans premier_espace"); } }
    namespace second_espace
    {
        class Efg { public void Methode() { Console.WriteLine("Dans second_espace"); } }
    }
}

class TestClasse
{
    static void Main(string[] args)
    {
        Abc fc = new Abc();
        Efg sc = new Efg();
        fc.Methode();
        sc.Methode();
        Console.ReadKey();
    }
}

Langue C

  1. C# Hello World — Construire votre première application C#
  2. Comprendre les mots-clés et identificateurs C# : règles, listes et bonnes pratiques
  3. Maîtriser les variables C# et types de données primitifs : guide complet
  4. Opérateurs C# — Guide complet des opérateurs en C#
  5. Maîtriser les opérateurs bit à bit et de décalage en C# : Guide complet
  6. Fondamentaux C# : Entrées et sorties essentielles
  7. Expressions, instructions et blocs C# : Guide complet avec exemples pratiques
  8. Maîtriser les commentaires C# : Types, bonnes pratiques et documentation XML
  9. Maîtriser l'instruction Switch C# : Syntaxe, exemples et bonnes pratiques