Getsuyodev, Programming is mainly used when constructing an application. Programming requires knowledge of application domains, algorithms, and programming language expertise. Programming can be developed in different logic based on developer knowledge.

POO – Interfaces génériques pour les collections génériques d’objets

Programmez en orienté objet en C Sharp



Objectif : Les interfaces génériques (fortement typées) du namespace System.Collections.Generic correspondent très exactement aux interfaces non génériques et ont les mêmes fonctionnalités, seule la généricité s’y rajoute.  Nous reprendrons donc les mêmes exemples que ceux qui sont proposés pour les interfaces non génériques et nous verrons que la généricité rajoute de la simplicité. Il est demandé ici de construire une classe de liste nommée ListeObjets<T>  implantant l’interface IList<T>.

Rappel du cours :
Une collection générique implantera les contrats définis par une ou plusieurs des interfaces situées dans le namespace System.Collections.Generic  :

System.Collections.Generic

Interface Description
ICollection <T> Contrat pour la taille, l’énumération et la synchronisation d’une collection d’objets de type T.
IDictionary <T1,T2> Représente une collection sous forme de couple (clef de type T1, valeur de type T2).
IEnumerable <T> Contrat pour l’énumération d’une collection d’objets de type T.
IList <T> Représente une collection d’objets de type T dont chaque élément est accessible par un index.

   public interface IEnumerable<T>                     

public interface ICollection<T> : IEnumerable<T>, IEnumerable 

public interface IDictionary<T1,T2> : ICollection< KeyValuePair<T1,T2>  >, IEnumerable < KeyValuePair<T1,T2>  >, IEnumerable  

La structure non générique DictionaryEntry qui permet de stocker des paires (clef, valeur) dans les collections non génériques est remplacée par la structure générique KeyValuePair<T1,T2> dans les collections génériques :

System.Collections

System.Collections.Generic

public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable                                              


Comments are closed, but trackbacks and pingbacks are open.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More