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 :

Surdefinition de ToString


Sujet :

C#

  1. #1
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut Surdefinition de ToString
    Salut

    Est il possible de reecrire la fonction ToString d'un obejt de base ; par exemple Integer ; sans pour autant devoir faire une classe derivee de Integer ?

    thx @++

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Non
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Citation Envoyé par SaumonAgile
    Non

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Tu peux toujours créer une nouvelle méthode MyToString qui prend en paramètre un entier et qui renvoit une chaîne de caractères...

  5. #5
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Je vais expliquer mon prob : j'ai un combo box ou je met des objet de type TimeSpan pour pouvoir enregistrer dans les settings la selection et pouvoir recuperer le timespan ; Mais il utilise pour l'affichage ToString ; qui n est pas tres explicite ; ex : 01:02:30

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Par défaut
    Pourquoi ne pas Hériter de TimeSpan et redéfinir son ToString()?

  7. #7
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Je vx bien ...
    Mais comment mettre dans les settings des Classes personnelles ?

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Par défaut
    Citation Envoyé par Seth77
    Je vais expliquer mon prob : j'ai un combo box ou je met des objet de type TimeSpan pour pouvoir enregistrer dans les settings la selection et pouvoir recuperer le timespan ; Mais il utilise pour l'affichage ToString ; qui n est pas tres explicite ; ex : 01:02:30
    Salut,

    si j'ai bien compris, il y a juste l'affichage qui te pose un probleme. Si c'est le cas, essaie de dessiner toi meme la representation de ton item, tu pourras afficher ce que tu veux a partir de ton item, et pas seulement son ToString().


    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
            public Form1()
            {
                InitializeComponent();
                comboBox1.DrawMode = DrawMode.OwnerDrawFixed;
                comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
                comboBox1.DrawItem += new DrawItemEventHandler(comboBox1_DrawItem);
            }
     
            void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
            {
                if (e.Index > -1)
                {
                    e.DrawBackground();
                    e.Graphics.DrawString("il y a " + ((TimeSpan)comboBox1.Items[e.Index]).TotalSeconds + " secondes", e.Font, Brushes.Black, e.Bounds.Location);
                    e.DrawFocusRectangle();
                }
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
                comboBox1.Items.Add(new TimeSpan(1, 20, 30));
                comboBox1.Items.Add(new TimeSpan(0, 15, 20));
                comboBox1.Items.Add(new TimeSpan(3, 15, 41));
            }
    Le code suppose une form form1 et un cbox comboBox1. Avec ca, tu gardes des timespan tout ce qu'il y a de plus normal, mais tu as juste personnalisé l'affchage de ces derniers dans ton combobox (Ici le total en seconds de ton timespan). Encore une precision pour que l'affichage de l'item choisi ne soit pas un ToString(), j'ai du placer comboBox1.DropDownStyle à DropDownList, de fait la zone de texte du combobox n'est plus modifiable et ne peux afficher que ce qu'il y a dans ta liste.

    Voila

  9. #9
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    Salut

    Y a t il une interface permettant d implementer la fonction ToString ?

  10. #10
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Non
    C'est une méthode de Object.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/05/2006, 20h00
  2. toString
    Par jadey dans le forum MFC
    Réponses: 1
    Dernier message: 25/03/2006, 19h07
  3. La fonction ToString ( ) besoin d'aide
    Par tuni dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/02/2006, 16h38
  4. [Débutant(e)] toString + classes abstraites
    Par debdev dans le forum Langage
    Réponses: 9
    Dernier message: 26/01/2005, 15h22
  5. [Struts]bean:write toString?
    Par MasterMic dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/09/2004, 11h40

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