C# Für das nicht statische Feld, die Methode oder die Eigenschaft ist ein Objektverweis erforderlich?

1 Antwort

Die Methode ist static, das Attribut textBox2 ist nicht static.

Das geht also nicht.

Du kannst in einer statischen Methode Objekte verwenden. Du hast an der Stelle kein Objekt der Klasse erzeugt, darum geht es nicht.

Hol dir die Referenz auf ein Objekt und ändere die Attribute des Objekts in der statischen Methode, dann geht es.

Ansonsten einfach mal nachlesen was "static" bedeutet. "static" ist der größte Mist und macht es für Anfänger nur viel zu schwierig.

Gruß

menle 
Fragesteller
 17.08.2019, 13:03

Ok...

dann mache ich erstmal was einfacheres, da ich noch ein ziemlicher anfänger bin was c# angeht.

0
AldoradoXYZ  17.08.2019, 13:30
@menle

Als Anfänger würde ich einen weiten Bogen um static machen.

Ansonsten mal ganz gezielt damit Beschäftigen. Du könntest zum Beispiel eine Aufgabe wie diese mit static lösen:

  • Zähle alle Instanzen eines Objekts und gib ihre Anzahl aus.

Static ist für einen Anfänger einfach nervig, weil es irgendwie dem objektorientierten Programmieren im "Weg" steht.

Später ist es natürlich hilfreich, aber erst dann, wenn man genau weiß was static genau macht. Häufig ist es trotzdem ratsam eine andere Lösung zu suchen, falls möglich. Gut testbarer Code enthält hoffentlich kein static.

Gruß

1
regex9  17.08.2019, 15:13
@menle

Arbeite zunächst mit der Konsole, wo noch kein Wissen über OOP gefragt ist (wie es bei Windows Forms der Fall wäre).

0