Les espaces de noms
Définition
Exemple
La directive using
L'espace de noms System
L'imbrication des espaces de noms
Les directives d'alias using
Définitions
Un espace de noms est un système qui permet d'organiser un programme C#. Il n'est pas obligatoire de placer son code dans un espace de noms. Cependant, l'espace de noms est capital dans une logique
organisationnelle.
Voici la syntaxe utilisée pour déclarer un espace de noms:
namespace mon_espace_de_noms
{
// code du programme
}
où nom_espace_de_noms est un nom librement choisi par le développeur pour désigner son espace de noms.
Exemple
On souhaite implanter un méthode qui renvoie la somme de deux entiers et une méthode qui renvoie la différence de deux entiers.
Il s'agit typiquement d'opérations arithméthiques donc nous allons définir ces deux méthodes dans une classe nommée Operations. On souhaite également implanter une méthode qui retourne la valeur absolue
d'un entier et une méthode qui retourne le carré d'un entier. Nous allons définir ces deux méthodes dans une classe nommée Fonctions. Les classes Operations et
Fonctions représentent des concepts mathématiques donc nous pouvons choisir de les placer dans un espace de noms appelé Maths.
namespace Maths
{
class Operations
{
public int Additionner(int x, int y)
{
return (x + y);
}
public int Soustraire(int x, int y)
{
return (x - y);
}
}
class Fonctions
{
public int Absolue(int x)
{
return (x < 0 ? -x : x);
}
public int Carre(int x)
{
return (x * x);
}
}
}
La directive using
La directive using sert à indiquer l'utilisation d'un espace de noms.
Le code suivant montre un exemple d'utilisation de l'espace de noms Maths précédemment défini.
using System;
using Maths;
namespace Maths
{
class Operations
{
public int Additionner(int x, int y)
{
return (x + y);
}
public int Soustraire(int x, int y)
{
return (x - y);
}
}
class Fonctions
{
public int Absolue(int x)
{
return (x < 0 ? -x : x);
}
public int Carre(int x)
{
return (x * x);
}
}
}
class MaClasse
{
static void Main()
{
Operations op = new Operations();
int resOp = op.Additionner(4,5);
Fonctions fun = new Fonctions();
int resFun = fun.Absolue(-31);
Console.WriteLine("4 + 5 = {0}", resOp.ToString());
Console.WriteLine("Abs(-31) = {0}", resFun.ToString());
}
}
Remarque: le .NET Framwork contient des fonctions mathématiques prédéfinies
(classe Maths) dans l'espace de noms System.
L'espace de noms System
L'espace de noms System contient les classes fondamentales (pour les types, l'affichage, etc.)
du .NET Framework. C'est pourquoi nous devons l'inclure dans tous nos programmes.
L'imbrication des espaces de noms
Il est possible d'imbriquer des espaces de noms de la manière suivante:
namespace mon_namespace_A
{
// code du programme
namespace nom_namespace_B
{
}
// code du programme
}
Les directives d'alias using
La directive using est également utilisée pour créer un
alias d'espace de noms. Par exemple, dans les Windows Forms, nous utilisons
l'espace de noms System.Windows.Forms. Nous pouvons créer un alias de cet espace de noms de la manière suivante:
using Winform = System.Windows.Forms;
Les espaces de noms sur les MSDN
Mercredi 15 Juin 2005
|