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 :

[C#] Type générique pour un Foreach


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 49
    Par défaut [C#] Type générique pour un Foreach
    Bonjour,

    Je commence l'abstraction en C# et j'aurais besoin d'un coup de main car j'ai une problématique où je n'ai pas trouvé de solution sur le forum.
    Je m'explique

    J'ai une méthode qui a comme signature (ArrayList result, Type type)

    Je voudrais dans ma méthode faire un code du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach (type item in result)
    {
          MonTraitement          
    }
    Il s'agit donc de faire un traitement générique sur une liste en passant le type d'objet.
    Quelqu'un aurait-il une idée comment procéder ?

    Plus généralement je ne suis pas sur de la manière à procéder car en fait voici la finalité du truc.
    Je cherche à faire une méthode qui quelque soit les types d'objet dans la liste puisse faire un traitement dessus (Écrire dans la console par exemple). Si quelqu'un à une idée sur la meilleur façon de faire l'algo je suis preneur.

    Merci pour votre aide.

  2. #2
    Invité de passage
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 1
    Par défaut
    Pour être générique, ta méthode doit présenter la signature suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void MaMethode <T1> (ArrayList MaList)
    ton foreach sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach (T1 t in MaList)
    {
         TRAITEMENT
    }

  3. #3
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 49
    Par défaut
    Merci mille fois cela fonctionne nickel avec le code ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public static void WriteExcelTestFile()
    {
      IList list = new List<StrangeObjectToTest>();
      list.Add(new StrangeObjectToTest("label1", "label21", "label31", "label41"));
      list.Add(new StrangeObjectToTest("label12", "label22", "label32", "label42"));
      string[] headers = new string[] { "header1", "header2", "header3", "header4" };
      TreatementArray<StrangeObjectToTest>(list, "StrangeObjectToTest", headers);
    }
     
    private static void TreatementArray<T>(IList result, string type, string[] headers)
    {
                foreach (T item in result)
                {
                  // TRAITEMENT
                }
    }

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

Discussions similaires

  1. Java : Une piste intéressante pour améliorer les types génériques
    Par Amine Horseman dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/12/2014, 01h52
  2. Abréviation des termes génériques pour le type de voie
    Par saclac dans le forum SIG : Système d'information Géographique
    Réponses: 1
    Dernier message: 06/07/2013, 18h55
  3. Deux valeurs génériques pour un type
    Par binome-x dans le forum VHDL
    Réponses: 1
    Dernier message: 25/10/2012, 09h44
  4. Réponses: 12
    Dernier message: 23/09/2006, 12h12
  5. y a-t-il un support de types génériques pour python ?
    Par silverhawk.os dans le forum Général Python
    Réponses: 15
    Dernier message: 24/03/2006, 18h23

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