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

 .NET Discussion :

créer sa propre méthode d'extension du type IEnumerable [C#]


Sujet :

.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut créer sa propre méthode d'extension du type IEnumerable
    Bonjour,

    Dans le cadre d'un exercice, je souhaite créer une méthode d'extension qui étend le type IEnumerable<T>, nommée Foreach et qui ajoute 100 à la balance de mes comptes (le prog est une appli bancaire et les comptes sont représentées par la classe Daily).

    En suivant l'exemple de msdn, j'arrive à coder:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static decimal ForEach(this Daily daily)
            {
                return daily.balance += 100;
            }
    Il n'y a pas d'erreur mais je pense que cela n'est pas totalement ce qu'on me demande car ne le fait pas pour toute la liste.

    J'essaie donc de compléter mon code. J'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static decimal ForEach(this IEnumerable<Daily>Dailys)
            {
                for (Daily daily in Dailys){
                    return daily.balance += 100; 
                }
            }
    mais j'ai une erreur dans le in Dailys de la boucle for (; expected?!).

    Quelqu'un peut me filer un coup de main svp?

    Merci d'avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    tu n'as pas besoin de spécifier un type de retour dans ce cas (étant donné que tu fais ton traitement d'ajout à l'intérieur), tu as utilisé une boucle for au lieu de foreach et change le nom de ta fonction, ce nom est déjà utilisé et peut prêter à confusion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public static void ForEach(this IEnumerable<Daily> Dailys)
            {
     
                foreach (Daily daily in Dailys as IEnumerable<Daily>)
                {
                    daily.balance += 100;
                }
     
            }

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 233
    Points : 92
    Points
    92
    Par défaut
    Super! Encore !

    Une petite interrogation quand même: comment tu sais qu'il faut rajouter "as IEnumerable<Daily>"?

    Il me semble que c'est la 1ère fois que je vois ca...

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    enlève ça je l'avais mis parce que je faisais des tests dans ton cas c'est inutile

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

Discussions similaires

  1. Créer son propre type de sauvegrade
    Par Ninored dans le forum C++
    Réponses: 17
    Dernier message: 18/11/2013, 10h52
  2. Comment créer une méthode d'extension sur un type
    Par Passepoil dans le forum VB.NET
    Réponses: 8
    Dernier message: 02/10/2012, 08h07
  3. Créer mon propre outil du type JOptionPane
    Par alex2746 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 06/05/2011, 11h27
  4. Réponses: 1
    Dernier message: 20/05/2009, 15h16

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