La création de méthodes génériques

La déclaration des membres d’une classe générique se fait de la même manière que les membres de classes classiques avec en plus l’utilisation du paramètre T pour spécifier le type d’un paramètre qui est autorisé.

Ajoutez la méthode Add à la classe ReportChangeList :

public void Add(T Child) 
{ 
    IReportChange child = (IReportChange)Child; 
    child.Changed += new EventHandler(ChildChanged); 
    this.children.Add(Child); 
} 

La méthode Add prend en paramètre un type répondant aux contraintes de la classe. L’objet passé en paramètre à la méthode implémente donc l’interface IReportChange et il peut être converti dans le type de l’interface, ce qui permet à l’objet de type ReportChangeList de s’abonner à l’événement Changed de l’objet passé en paramètre avant de l’ajouter à la liste children.

La liste va contenir de nombreux éléments et il faut donc implémenter une technique plus élaborée pour les différencier et assurer l’unicité de ceux-ci. Nous allons créer un indexeur basé sur une clé de type string. Cela implique dans un premier temps de créer une interface IKey dans...

Pour consulter la suite, découvrez le livre suivant :
couv_EI9C19VIS.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Les interfaces génériques
Suivant
Valeur par défaut générique