Benutzer mit den meisten Antworten
"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." wenn ich zu einer Liste Adden will, sonst alles normal?

Frage
-
Hallo Forum,
ich verstehe es gerade nicht mehr so ganz, hier das Codestück:
Console.WriteLine("Name: " + reader.GetString(0)); Console.WriteLine("Geb: " + building.buildNr); Console.WriteLine("Typ: " + reader.GetString(1)); Console.WriteLine("Info: " + reader.GetString(2)); Console.WriteLine("Sitzplätze: " + reader.GetInt32(3)); poi_Inside poiInside = new poi_Inside(reader.GetString(0), building, reader.GetString(1), reader.GetString(2), reader.GetInt32(3)); Console.WriteLine("poiInside: " + poiInside.name); Console.WriteLine("Null?: " + poiInside.Equals(null)); building.poi_InsideListe.Add(poiInside);
Nirgendwo kommt eine Exception, da nichts null ist, aber wenn ich die poiInside adden möchte, kommt diese Exception, von wegen Null Verweis.... das verstehe ich nicht.
Console.WriteLine("Null?: " + poiInside.Equals(null));
gibt false aus....
Woran kann das liegen?
und ja, ich werde nochmal explizit auf null überprüfen, mir war gerade aber die Schreibarbeit noch zu viel ;)
Antworten
-
Ich nehme mal an das poiInside eine Liste Namens poi_InsideListe enthält.
Wenn ja, dann musst du die erst instanzieren, bevor du etwas hinzufügst:
List<MeinTyp> meineListe = new List<MeinType>();
Koopakiller - http://koopakiller.ko.ohost.de/
- Bearbeitet Tom Lambert (Koopakiller)Moderator Montag, 21. Mai 2012 21:08 schreibfehler
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Montag, 21. Mai 2012 21:12
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 19. Juni 2012 10:45
-
Ok gut, ich habs zwar nicht genau verstanden, aber ein Kollege hats mir erklärt:
Ich muss in der Klasse von buildings beim Konstruktor eine Liste instanziieren ;)Also:
public poi_Building(string name, string buildNr, double Lattitude, double Longitude, string adress, string info) : base (name) { this.buildNr = buildNr; this.Lattitude = Lattitude; this.Longitude = Longitude; this.info = info; this.poi_InsideListe = new List<poi_Inside>(); }
Und dann lief es =)
Danke!
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Montag, 21. Mai 2012 21:12
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 19. Juni 2012 10:45
Alle Antworten
-
Ich nehme mal an das poiInside eine Liste Namens poi_InsideListe enthält.
Wenn ja, dann musst du die erst instanzieren, bevor du etwas hinzufügst:
List<MeinTyp> meineListe = new List<MeinType>();
Koopakiller - http://koopakiller.ko.ohost.de/
- Bearbeitet Tom Lambert (Koopakiller)Moderator Montag, 21. Mai 2012 21:08 schreibfehler
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Montag, 21. Mai 2012 21:12
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 19. Juni 2012 10:45
-
Ok gut, ich habs zwar nicht genau verstanden, aber ein Kollege hats mir erklärt:
Ich muss in der Klasse von buildings beim Konstruktor eine Liste instanziieren ;)Also:
public poi_Building(string name, string buildNr, double Lattitude, double Longitude, string adress, string info) : base (name) { this.buildNr = buildNr; this.Lattitude = Lattitude; this.Longitude = Longitude; this.info = info; this.poi_InsideListe = new List<poi_Inside>(); }
Und dann lief es =)
Danke!
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Montag, 21. Mai 2012 21:12
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 19. Juni 2012 10:45
-
Das kannst du auch direkt in der Klasse machen, nimmt sich aber an sich natürlich nichts ;)
Im Grunde meinte ichd as selbe, wie dein kolege.
Koopakiller - http://koopakiller.ko.ohost.de/
- Bearbeitet Tom Lambert (Koopakiller)Moderator Montag, 21. Mai 2012 21:09 ergänzung