Hallo zusammen,
stehe gerade vor einem etwas mysteriösen Problem.
Ich habe die beiden folgenden Testklassen (dienen nur der Veranschaulichung des Problems!):
public class KlasseA
{
public int i = 5;
}
public class KlasseB
{
}
Ich möchte nun in KlasseB eine Instanz von KlasseA erzeugen, und den Wert in i abfragen oder setzen.
public class KlasseB
{
KlasseA klasseA = new KlasseA();
}
Die Instanziierung funktioniert auch; ich kann das Projekt kompilieren.
Das Problem liegt darin, dass ich nicht auf die Instanzvariable 'klasseA' zugreifen kann.
IntelliSense bietet mir diese nicht an; und wenn ich sie einfach ohne IntelliSense hinschreibe, und auf i zugreifen möchte,
public class KlasseB
{
KlasseA klasseA = new KlasseA();
klasseA.i = 1;
}
dann erhalte ich die Meldung
Ungültiges Token "=" in Klasse, Struktur oder Schnittstellenmemberdeklaration.
Umbenennen der Klassen, Instanzvariable, Member etc. hat nicht geholfen; auch der Neustart der IDE nicht.
Weiß jemand Rat?
Gruß
s-sharp
Es macht sich immer gut, wenn man Operation in Methoden unterbringt....
Ich wollte gerade fast exakt das gleiche schreiben 🙂
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
Hallo s-sharp,
Es macht sich immer gut, wenn man Operation in Methoden unterbringt....
... und eben nicht direkt in der Klasse. Dabei ist
KlasseA klasseA = new KlasseA();
eben gerade keine Operation, sondern eine Deklaration inkl. Initialisierung. Deshalb geht das auch direkt in der Klasse - obwohl es vielleicht trotzdem nicht ist, was du beabsichtigst. Soll klasseA eine lokale Variable sein, gehört auch dieser Code schon in eine Methode.
herbivore
Ach herrje schäm
Danke Euch!
Dumm: jetzt habe ich komplett vergessen, was ich eigentlich damit bezwecken wollte 🤔
Gruß
s-sharp