IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Ilist et List


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut Ilist et List
    Bonjour,

    Lorsque je type un champ que ce soit dans une class ou une interface,

    quelle est la difference entre :

    List myList; et IList myList.

    Merci

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    MSDN

  3. #3
    Membre chevronné
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Par défaut
    List est une classe.
    IList est une interface.

    List implémente l'interface IList, mais il y a d'autres classes du Framework qui implémentent IList, comm la classe Array par exemple.

  4. #4
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    je sais bien que ilist est une interface.

    Quelle est l'interet de typer un champs en Ilist ? sachant qu'on ne vas rien redefinir ?

  5. #5
    Membre chevronné
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Par défaut
    Un bon exemple de déclaration des variables par l'interface c'est le pattern Factory.

    Tu déclares une variable bd de type IDbConnection.
    Tu lis dans un fichier Xml le type de BDD (MySql, Oracle, SqlServer), et tu appelles une méthode de factory en lui passant en paramètre ce que tu as lu dans ton fichier.
    En fonction du paramètre qui lui est passé, la factory construit et retourne un objet OracleDbConnection, MySqlDbConnection ou SqlServerDbConnection. Le point commun entre ces 3 types est qu'il satisfont tous l'interface IDbConnection.
    Ensuite, tu pourras utiliser ta variable db dans ton code source sans te soucier des spécificités relative à tel ou tel SGBD.

  6. #6
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Citation Envoyé par topolino Voir le message
    Quelle est l'interet de typer un champs en Ilist ? sachant qu'on ne vas rien redefinir ?
    L'interet, c'est que tu te donnes la liberte de ne pas figer ton interface...

    Par ex., pour le moment, tu renvoies une list, donc, ton client (l'autre morceau de code qui appelle ta fonction), attends une liste en retour.

    Si demain, pour une raison ou une autre, tu veux renvoyer une SortedList, tu dois changer tous tes clients, parce que tu as change le type de retour de ta fonction. Si le type de retour est une IList, tes clients, qui vont probablement juste utiliser un foreach, ne seront pas obliges de changer leur code.

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  7. #7
    Membre chevronné
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Par défaut
    En d'autres termes, tu ne déclares pas ta variable myList comme étant du type List, mais comme étant de n'importe quel type, pourvu qu'il satisfasse le contrat (interface) IList.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. List IList List<T> etc.
    Par cyrano_de_bergerac dans le forum C#
    Réponses: 9
    Dernier message: 08/03/2011, 18h59
  2. tri de liste chainée
    Par RezzA dans le forum C
    Réponses: 7
    Dernier message: 26/01/2003, 20h25
  3. liste d'objets
    Par Pierrot dans le forum Langage
    Réponses: 2
    Dernier message: 27/09/2002, 09h56
  4. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41
  5. Listes déroulantes liées entre elles
    Par denisC dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/07/2002, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo