Indexeur

Définition - Que signifie Indexer?

Un indexeur, dans le contexte de C #, est un membre de classe utilisé pour fournir des capacités d'indexation de type tableau pour un accès facile aux propriétés des objets. Un indexeur est principalement utilisé lorsqu'un tableau est encapsulé dans un type.

La syntaxe simple d'un indexeur aide les applications clientes à accéder aux groupes d'éléments en tant que membre d'un objet de tableau (type, classe ou struct). Un indexeur fournit une méthode indirecte d'insertion d'une logique de vérification des limites. En raison de sa nature intuitive, un indexeur améliore la lisibilité du code.

Un indexeur est souvent utilisé pour implémenter une pile afin que son contenu soit accessible sans suppression d'élément. L'implémentation de l'indexeur Java est similaire à C #. En général, les indexeurs peuvent être utilisés dans le code de bibliothèque, en raison de leur facilité d'utilisation et de leur flexibilité.

Definir Tech explique Indexer

Bien que les indexeurs soient similaires aux propriétés, ils utilisent des paramètres différents. Les propriétés sont identifiées par leur nom, tandis que les indexeurs sont désignés par la signature et l'utilisation du mot-clé "this". Les propriétés sont accessibles via les membres, mais les indexeurs sont accessibles via les éléments. Contrairement aux propriétés, un compilateur C # n'autorise pas l'utilisation d'un indexeur statique.

Un indexeur est pratique car ses instances de classe et de structure sont indexées comme des tableaux et utilisent la notation entre crochets pour accéder à un élément. Les indexeurs sont appelés tableaux intelligents. Les accesseurs sont les composants d'indexation get et set qui permettent respectivement l'extraction et la définition de valeurs. En fonction du type de membre requis pour la recherche, un indexeur est déclaré avec la signature appropriée. Le mot-clé "this" est utilisé pour définir les indexeurs et "Value" est utilisé pour affecter l'accesseur set.

Le type et les paramètres d'un indexeur doivent être aussi accessibles que l'indexeur lui-même. Le nombre et les types d'arguments formels sont connus par la signature d'un indexeur, mais pas par les noms de type ou d'argument. Le type de retour doit être un type C # valide. Un indexeur doit avoir au moins un paramètre.

Les indexeurs de classe peuvent être surchargés et avoir des signatures différentes. Comme les indexeurs ne sont pas considérés comme des variables, ils ne peuvent pas être utilisés comme paramètres "ref" ou "out". Le langage croisé utilise le nom par défaut Item, lorsqu'il n'est pas spécifié dans la déclaration. Les accesseurs implémentés avec des indexeurs peuvent être surchargés avec plusieurs types. Les indexeurs permettent de passer plus d'un paramètre formel, par exemple pour accéder à un tableau à deux dimensions. Les indexeurs abstraits sont implémentés en déclarant simplement les accesseurs get / set dans la classe de base et en ajoutant le code de classe dérivé.

Bien que les indexeurs soient également utilisés dans les interfaces, les déclarations de classe diffèrent. Les accesseurs de l'indexeur d'interface n'utilisent pas de modificateurs et n'ont pas de corps. Les indexeurs sont également utilisés dans les interfaces pour indiquer s'ils sont en lecture seule, en écriture seule ou en lecture-écriture. Conformément aux directives de conception, la mise en œuvre de la stratégie de gestion des erreurs correcte est essentielle lors de l'utilisation des accesseurs get et set, en plus de fournir la documentation d'exception d'erreur requise pour les indexeurs. Il est recommandé de restreindre l'accesseur au niveau requis pour éviter les valeurs définies malveillantes. Cette définition a été écrite dans le contexte de C #