Frage von MatriX58, 13

Csharp Methoden die eine Eigenschaft zu einer Listbox hinzufügen?

Wie kann ich in einer Methode, einer Listbox eine Eigenschaften hinzufügen?

Mein Code:

    Int32 zahl = 1;
    
    static void summe(Int32 zahl)
    {
      
        listbox1.Items.Add(zahl);
       
    }
    summe();
Antwort
von Unsinkable2, 6
       
    public void summe(Int32 zahl)
    {
      
        listbox1.Items.Add(zahl);
       
    }

Ersetze einfach "static" durch "public" und streiche die Deklaration der Variable "zahl", dann sollte es funktionieren. 

"static" kann nicht auf instanziierte Objekte außerhalb des eigenen Focus zugreifen. und die Variablen-Deklaration ist überflüssig, weil du so nur eine "ferngesteuerte Konstante" hast. Du kannst die Zahl direkt an die Methode "summe" übergeben. Ohne zusätzliche Variable.

    summe(1);

Das fügt dann "1" zur listbox1 hinzu.
Das Aufrufen der Methode kannst du nicht direkt im Rumpf der Klasse machen. Instanziiere deine Klasse und rufe die Methode dann in der Instanz auf.
MeineKlasse meinObjekt = new MeineKlasse();
meinObjekt.summe(1);

Hinweis: Dein Quellcode erinnert stark an "PHP-Friemelei" und ist aus OO-Sicht ein bisschen konfus. Ich musste einige Teile ergänzen, um die Antwort schreiben zu können. 

Antwort
von Mikkey, 13

Dein Code geht so nicht, Du kannst keine Methode mitten in anderen Code hineinschreiben.

Was verstehst Du unter "eine Eigenschaften"?

Wenn Du eine zusätzliche Eigenschaft einer Listbox brauchst, musst Du eine Klasse von ListBox ableiten und diese Eigenschaft definieren.

Willst Du einen Eintrag hinzufügen, verwendest Du halt ~.Items.Add().

Keine passende Antwort gefunden?

Fragen Sie die Community