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

C# Discussion :

List et Interface


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut List et Interface
    Bonjour tout le monde,

    Je poste ici car actuellement, je ne comprends pas vraiment un principe...

    Je vous pose l'architecture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    IInterface
    {
     string Name {get;set;}
    }
     
    Classe : IInterface
    {
     string Name {get;set;}
    }
    Nous somme d'accord que faire IInterface myClasse = new Classe(); est possible.
    Cependant, lorsque je fais:

    List<IInterface> liste = new List<Classe>(); cela n'est pas possible...
    il faut soit faire un cast ou soit passé par une propriété.

    Donc je m'en remets à vous, pourquoi ce comportement?
    Merci de votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    List<Classe> ne dérive pas de List<IInterface>.

  3. #3
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Points : 94
    Points
    94
    Par défaut
    Exactement, .Net ne sait pas faire la conversion d'une liste d'un type vers un autre.

    Il faut que tu ajoutes quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MaIList<T> : IList<T>
    {
    }
     
    MaList<T1> : MaIList<T> where T1 : T
    {
    }
    PS : Je n'ai pas testé

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Ah d'accord merci
    Je comprends mieux, ca parait normal en fait...

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 07/05/2012, 00h03
  2. Listes et interfaces
    Par Antoine_935 dans le forum Langage
    Réponses: 8
    Dernier message: 28/09/2009, 13h25
  3. Réponses: 17
    Dernier message: 02/07/2009, 18h44
  4. ASIO liste d'interfaces
    Par Ferllings dans le forum Boost
    Réponses: 6
    Dernier message: 06/01/2009, 11h56
  5. Liste des interfaces
    Par NiamorH dans le forum C#
    Réponses: 2
    Dernier message: 22/10/2008, 17h42

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