Sommaire

Les indexeurs Indexeur

Le C# permet de construire des types proposant un accès à leurs collections internes en utilisant l’opérateur d’index ([ ]), comme s’il s’agissait de tableaux natifs.

Imaginons par exemple une classe Employes gérant une liste d’employés. La classe définit déjà un certain nombre de méthodes pour calculer les temps de présence, les salaires, etc., et contient une collection d’objets décrivant chaque employé. Cette collection ne sera pas de type public en vertu de la règle d’encapsulation mais l’utilisateur de la classe devra pouvoir accéder à n’importe quel objet Employe de la façon la plus simple possible...

Proposer une syntaxe basée sur l’opérateur [ ] pour accéder à un emplacement particulier de la collection est une solution très conviviale.

Exemple

Employe e = MesEmployes[3];

L’implémentation de la surcharge de l’opérateur [ ] s’effectue comme ceci :

visibilité typeRetour this[typeIndex valeurIndex] 
{ 
   // accesseurs get et set 
}
  • La plupart du temps, l’attribut de visibilité sera de type public.

  • Le typeRetour correspond au type contenu dans la collection.

  • this est de nouveau utilisé pour symboliser l’instance.

  • [typeIndex valeurIndex] définit type et valeur à passer pour caractériser l’index auquel accéder dans ...