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 :

créer une List<Type>


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 41
    Par défaut créer une List<Type>
    Bonjour,

    j'ai un type , et je voudrais créer une liste du type , mais cela ne compile pas. Comment faire?

    Merci

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Commencer par expliquer pourquoi cela ne compile pas

    Quel est le message d'erreur ?

  3. #3
    Membre éprouvé Avatar de Mourad
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 152
    Par défaut
    là j'ai rien devant moi pour vérifier mais j'espère que je ne vais pas me gourrer...
    je ne pense pas que tu puisses faire cela parce que tout simplement Type n'est ni un type primitif ni un objet et donc je ne pense pas que tu puisses créer une liste de Type

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 41
    Par défaut
    Le type ou le nom d'espace de noms 'myType' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

    En fait mon problème est que j'ai un ArrayList, qui ne contient que des objets du même type T, et je veux le convertir en List<T>. Je n'ai pas accès statiquement au type en question, mais seulement lors de l'exécution. Il faut peut-être utiliser de la reflection, mais comment?

  5. #5
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Il faut que tu rajoutes une référence vers la DLL qui contient ton type pour pouvoir l'utiliser dans ton projet.


    Maintenant, c'est n'est pas clair, surtout ta dernière phrase: "Je n'ai pas accès statiquement au type en question, mais seulement lors de l'exécution"

  6. #6
    Membre Expert Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Par défaut
    En fait, il veut faire une List<T> avec T défini à l'execution.

    Quelque chose de ce genre là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    using System;
    using System.Reflection;
     
    namespace ConsoleApplication1
    {
      class Program
      {
        static void Main(string [] args) {
          Type T = Type.GetType("System.Collections.Generic.List`1[System.String]");
          ConstructorInfo [] ctors_info = T.GetConstructors();
          object l = ctors_info [0].Invoke(new object [] { });
        }
      }
    }

  7. #7
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Citation Envoyé par cyberchand
    j'ai un type , et je voudrais créer une liste du type , mais cela ne compile pas. Comment faire?
    Normal.
    En C#, c'est le nom d'un type et pas le nom d'une instance qu'il faut utiliser pour déclarer une liste générique : List<Type>

Discussions similaires

  1. vide une liste de type select
    Par naourass dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/04/2009, 10h05
  2. Réponses: 2
    Dernier message: 03/07/2006, 21h14
  3. Réponses: 3
    Dernier message: 20/02/2006, 19h32
  4. [EXCEL]Créer une liste (combo)
    Par elitost dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/12/2005, 17h55
  5. Réponses: 5
    Dernier message: 29/09/2005, 15h37

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