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 :

Débutant en c# "erreur de compilation"


Sujet :

C#

  1. #1
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut Débutant en c# "erreur de compilation"
    Bonjour;

    Comme je suis débutant en c# j'ai compilé un programme que j'ai copié d'un tutoriel et j'ai reçu l'erreur suivante " 'Chap2.CompareNom' does not implement Interface member ".

    D'après son auteur le programme en question a été testé avec la version Microsoft Visuel c#2008 tan disque moi je l'ai repris sous Microsoft Visuel c#2005, est-ce un problème de version ou autre.
    Merci d'avance.

  2. #2
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Et si nous aussi on voyait le programme?

  3. #3
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    avec plaisir le voici
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    using System;
    2. using System.Collections.Generic;
    3.
    4. namespace Chap2 {
    5. class Program6 {
    6. static void Main(string[] args) {
    7. // un tableau de personnes
    8. Personne[] personnes1 = { new Personne("claude", "pollon", 25), new Personne("valentine",
    "germain", 35), new Personne("paul", "germain", 32) };
    9. // affichage
    10. Affiche("Tableau à trier", personnes1);
    11. // tri selon le nom
    12. Array.Sort(personnes1, new CompareNoms());
    13. // affichage
    14. Affiche("Tableau après le tri selon les nom et prénom", personnes1);
    15. // tri selon l'âge
    16. Array.Sort(personnes1, new CompareAges());
    17. // affichage
    18. Affiche("Tableau après le tri selon l'âge", personnes1);
    19. }
    20.
    21. static void Affiche(string texte, Personne[] personnes) {
    22. Console.WriteLine(texte.PadRight(50, '-'));
    23. foreach (Personne p in personnes) {
    24. Console.WriteLine(p);
    25. }
    26. }
    27. }
    28.
    29. // classe de comparaison des noms et prénoms des personnes
    30. class CompareNoms : IComparer<Personne> {
    31. public int Compare(Personne p1, Personne p2) {
    32. // on compare les noms
    33. int i = p1.Nom.CompareTo(p2.Nom);
    34. if (i != 0)
    35. return i;
    36. // égalité des noms - on compare les prénoms
    37. return p1.Prenom.CompareTo(p2.Prenom);
    38. }
    39. }
    40.
    41. // classe de comparaison des ages des personnes
    42. class CompareAges : IComparer<Personne> {
    43. public int Compare(Personne p1, Personne p2) {
    44. // on compare les ages
    45. if (p1.Age > p2.Age)
    46. return 1;
    47. else if (p1.Age == p2.Age)
    48. return 0;
    49. else
    50. return -1;
    51. }
    52. }
    53.
    54. }
    Merci l'ami d'avoir y penser

  4. #4
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    Je vois pas de correspondance entre le message d'erreur et ton code. La classe pour trier s'appelle CompareNoms alors que le message précise CompareNom. Pour moi le code que tu as donné est bon.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Par défaut
    Bizarre, j'ai copié le code dans un projet (visual studio 2008) et après deux modifications normales (suppression des chiffres en début de ligne et création de la classe Personne), le code compile parfaitement bien.

  6. #6
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Salut et merci à toi freyn
    En fait tu viens de répondre à mon souci, en fait le problème réside dans la version vcs2005 car l'interface ICompare n'existe pas et à sa place on trouve IComparable. Je crois que c'est ça mais dans tout les cas le programme ne se compile pas dans vcs2005 et marche parfaitement bien sous vcs2008.
    Merci encore une fois.

  7. #7
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    L'interface IComparer existait déjà dans le framework 2.0, je suis pas sûr que la cause vienne de la.

    D'ailleurs j'ai réussi à compiler avec .NET 2.0

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 26/08/2005, 10h02
  2. [Débutant]Erreur de compilation inconprehensible
    Par @r$£~%[ dans le forum C++
    Réponses: 15
    Dernier message: 14/08/2005, 20h04

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