Les Namespace

On va ici parler des Namespace ou encore en Français des Espace de nom.

Les Namespace constituent une façon d’organiser les différents intervenant dans un programme en C#, j’aborde ce sujet car vous verrez dans les différents articles sur le moteur de jeu Unity que je m’en sert régulièrement.

On peut comparer les Namespace à des dossiers sur votre ordinateur, vous ne pouvez pas créer deux fois le même fichier au même endroit, en programmation c’est le même principe on ne peut pas créer deux fonctions, classes etc… avec le même nom, sauf en les plaçant dans ces fameux Namespace, cela pour éviter les conflits.

Prenons l’exemple d’un jeu vidéo, on aura généralement plusieurs Namespace, chacun gérant sa propre partie, si je prend mon dernier projet sur Unity qui est un Tower Defense en 2D, j’ai des Namespace tels que Engine (gestion du moteur de jeu), Enemy (gestion des ennemies), ou encore SFX(gestion des effets spéciaux).

Lors de la conception de votre programme, il est fortement recommandé de créer vos propres Namespace pour d’une part avoir un code nettement plus lisible et surtout éviter tout conflit futur entre deux classes par exemple.

Assez parler regardons ce code issu du Microsoft Docs :

C#

Deux classes sont créer dans le Namespace MyCompany.Proj1, ces deux classes MyClass et MyClass1 pourront donc être appelé dans un autre Namespace, prenons l’exemple suivant :

C#

On voit que dans la fonction Main() on fait bien appel à une fonction SayHello() issue d’un Namespace différent.


Maintenant tout ca reste en interne (du moins dans le même fichier) hors ce n’est pas ce qu’in nous intéresse, le but étant de rendre notre code encore plus lisible pour cela il faut donc déclarer notre classe principale.

On va donc faire ca sur Unity car c’est principalement pour cela que l’article est présent, pour cela créer deux objets Empty sur votre scène, créer un script à chacun des deux Empty, pour ma part je les ai renommé en Tutoriel1 et Tutoriel2.

Voici le contenu du Tutoriel1, on à donc un Namespace du nom de TutorielNamespace, ensuite on créer une classe Tutoriel1 et une fonction myFunction().

C#

Maintenant le but du jeu est de pouvoir jouer avec cette fameuse myFunction() via le deuxième objet Empty, pour cela on va venir la déclarer dans le second fichier :

C#

On peut donc voir le résultat sur Unity, ayant mis un Warning comme débug on le verra apparaitre dans la console.

Debug

Auteur

Matkilsa

Contenus Additionnels

Tutoriel vidéo : Non

Tutoriel pdf : Prochainement

Documentation Microsoft :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *