Hoffe ich bin im richtigen Unterforum.
Ich verzweifle gerade an im Betreff bezeichneter Fehlermeldung. Als C# und OOP - Neuling bitte ich auch eine dumme Frage zu entschuldigen.
Ein Objekt, welches ich aus einem anderen heraus erstellt habe ist nicht mehr verfügbar, wenn ich eine andere Aktion vornehme.
Vielleicht helfen die untenstehenden Codeschnipsel:
Ich habe eine Klasse Spieler deren Objekte mit der FormularInitialisierung erzeugt werden.
Diese Klasse verfügt über eine Methode WetteAbgeben(), welche durch Klick eines Buttons Objekte der Klasse Wette erzeugt.
Wenn ich danach über Klick eines anderen Buttons wieder auf die Felder der Wette-Objekte zugreifen möchte scheinen diese weg zu sein. Die Spieler-Objekte sind allerdings noch alle da, d.h. auf deren Felder und Methoden kann ich zugreifen? Was stimmt da nicht?
Bin für jeden Hinweis dankbar.
Ich verzweifle gerade an im Betreff bezeichneter Fehlermeldung. Als C# und OOP - Neuling bitte ich auch eine dumme Frage zu entschuldigen.
Ein Objekt, welches ich aus einem anderen heraus erstellt habe ist nicht mehr verfügbar, wenn ich eine andere Aktion vornehme.
Vielleicht helfen die untenstehenden Codeschnipsel:
Ich habe eine Klasse Spieler deren Objekte mit der FormularInitialisierung erzeugt werden.
Diese Klasse verfügt über eine Methode WetteAbgeben(), welche durch Klick eines Buttons Objekte der Klasse Wette erzeugt.
Wenn ich danach über Klick eines anderen Buttons wieder auf die Felder der Wette-Objekte zugreifen möchte scheinen diese weg zu sein. Die Spieler-Objekte sind allerdings noch alle da, d.h. auf deren Felder und Methoden kann ich zugreifen? Was stimmt da nicht?
Bin für jeden Hinweis dankbar.
C#:
//Die Klasse Spieler
public class Spieler
{
public string Name;
public Wette MeineWette=null;
public int Geld;
public bool WetteAbgeben ( int Einsatz, int Hund)
{
Wette MeineWette=new Wette() {Betrag=Einsatz,Hund=Hund, Wetter=this};
if (this.Geld > Einsatz && Hund > 0)
{
LabelAktualisieren(MeineWette.BeschreibungAbrufen(),false);
return true;
}
else { return false; }
}
//Hier ein Ausschnitt aus der Klasse Wette
public class Wette
{
public int Betrag;
public int Hund;
public Spieler Wetter = null;
public string BeschreibungAbrufen()
{
return Wetter.Name + " wettet " + Betrag + "€ auf Hund" + Hund;
}
...
}
//Hier tauchen die Probleme auf
public void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("Name des Wetters: " + player[0].Name); // Das geht
MessageBox.Show("Wette auf Hund" + player[0].MeineWette.Hund); //Hier wird die NullReference Exception gemeldet
}
Zuletzt bearbeitet von einem Moderator: