Forum » Programiranje » [C#] toString ne dela
[C#] toString ne dela

teac ::
Imam en class, ki je podedovan od ComboBox
class MyFeedComboBox : System.Windows.Forms.ComboBox { string _ime; public override string ToString() { return _ime; } }Potem nekje v kodi ustvarim nov objekt:
MyFeedComboBox myCombo = new MyFeedComboBox(); comboBox.Items.Add(myCombo);Ko hočem dodat to v comboBox, naj bi objekt, ki ga dodajam poklical svojo ToString() metodo. Tu pa se pojavi moj problem. Tega mi ne naredi. Zadnji stavek dela v redu, če napišem tako:
comboBox.Items.Add(myCombo.ToString());Zakaj mi ne pokliče svoje ToString metode?
- spremenilo: teac ()

darkolord ::
Funkcija Add() kot parameter sprejme objekt in ne direkt stringa, tako da ne pokliče toString()... Vsaj tako je v 2005
Zgodovina sprememb…
- spremenilo: darkolord ()

rokpok ::
Funkcija add sprejme objekt (kot je že darkolord rekel) in kasneje nad tistim objektom pokliče funkcijo ToString () katere vrnjena vrednost je potem prikazana na seznamu.
A ti tvoj objekt samo ne pokaže v comboBox-u ali ti ga sploh ne doda? Nevem, malo čudno mi zgleda vse to. Kaj pa je naloga tega MyFeedComboBox-a oziroma zakaj deduje od System.Windows.Forms.ComboBox? Če jaz zdaj to prav razumem ti v comboBox dodajaš še en comboBox...
A ti tvoj objekt samo ne pokaže v comboBox-u ali ti ga sploh ne doda? Nevem, malo čudno mi zgleda vse to. Kaj pa je naloga tega MyFeedComboBox-a oziroma zakaj deduje od System.Windows.Forms.ComboBox? Če jaz zdaj to prav razumem ti v comboBox dodajaš še en comboBox...

Rad bi bil pingvin.
Zgodovina sprememb…
- spremenil: rokpok ()

MaCoFaCo ::
Če sem te prav zastopil... Jaz sem naredil spodnjo kodo in dela kot je treba (Visual Studio 2005).
class MyItem { public MyItem(string text, object value) { this.text = text; this.value = value; } private string text; private object value; public override string ToString() { return text; } } private void Form1_Load(object sender, EventArgs e) { comboBox1.Items.Add(new MyItem("item1", "value1")); //v combotu prikazan "item1" comboBox1.Items.Add(new MyItem("item2", "value2")); //v combotu prikazan "item2" MyItem item1 = comboBox1.Items[0] as MyItem; MyItem item2 = comboBox1.Items[1] as MyItem; }

teac ::
Ta objekt mi doda v combobox, ampak brez teksta, ker ne kliče toString. Če pa sam dodam toString (torej Add(myObject.toString()), ko dodajam objekt v comboBox, pa se tekst izpiše.
Naloga tega mojega comboBoxa? Nič, pač sem si naredil svoj class, ker rabim še nekaj drugih informacij, ki jih pri comboBox-u nimam kam vpisat.
Naloga tega mojega comboBoxa? Nič, pač sem si naredil svoj class, ker rabim še nekaj drugih informacij, ki jih pri comboBox-u nimam kam vpisat.

rokpok ::
Zakaj pa mora ta tvoj objekt (MyFeedComboBox) dedovati od System.Windows.Forms.ComboBox?
Rad bi bil pingvin.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C# težavaOddelek: Programiranje | 3906 (2752) | mladec |
» | [Java] Urejanje baze z JTableOddelek: Programiranje | 1035 (819) | vonNeumann |
» | c# datagridview in comboxOddelek: Programiranje | 1235 (1123) | OmegaM |
» | [Visual C#] TableAdapterOddelek: Programiranje | 1170 (1046) | detroit |
» | c# - problemOddelek: Programiranje | 1440 (1159) | GeeDee |