Hallo allerseits,
für einen schulischen Test habe ich 4 Klasse erstellt von dennen jedoch nur 2 hier relevant sind.
und
Mit Form1 wollte ich die Klassen testen:
1 Textfeld: txtPerson
1 Button: butPersonErstellen
1 ListView: lvPerson
Nun zu meiner eigentlichen Frage.
Ich möchte im Konstruktor von Person die damit erstellte Instanz übergeben. In meinem Fall habe ich jedoch keine Insatz und dachte mach könnte es vlt. auch so übergeben, was leider nicht geht.
public void addPerson(Person Person)
{
personenListe.Add(Person); <-- Fehler
}
Hier wird eine NullReferenceException geworfen.
Wie könnte ich das Problem elegant lösen?
Grüße,
Aero13
für einen schulischen Test habe ich 4 Klasse erstellt von dennen jedoch nur 2 hier relevant sind.
Code:
class Person
{
private string name = null;
private Datenbasis _daten = new Datenbasis();
public Person()
{
}
public Person(String name)
{
this.name = name;
_daten.addPerson(this);
}
public string getName()
{
return name;
}
}
Code:
class Datenbasis
{
private List<Person> personenListe;
public Datenbasis()
{
}
public void addPerson(Person Person)
{
personenListe.Add(Person);
}
public List<Person> getPersonenListe()
{
return personenListe;
}
}
Mit Form1 wollte ich die Klassen testen:
1 Textfeld: txtPerson
1 Button: butPersonErstellen
1 ListView: lvPerson
Code:
private void butPersonErstellen_Click(object sender, EventArgs e)
{
Person p = new Person(txtPerson.Text);
lvPerson.Items.Add(p.getName());
}
Nun zu meiner eigentlichen Frage.
Ich möchte im Konstruktor von Person die damit erstellte Instanz übergeben. In meinem Fall habe ich jedoch keine Insatz und dachte mach könnte es vlt. auch so übergeben, was leider nicht geht.
public void addPerson(Person Person)
{
personenListe.Add(Person); <-- Fehler
}
Hier wird eine NullReferenceException geworfen.
Wie könnte ich das Problem elegant lösen?
Grüße,
Aero13