none
"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." wenn ich zu einer Liste Adden will, sonst alles normal? RRS feed

  • 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 ;)

    Montag, 21. Mai 2012 20:10

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/


    Montag, 21. Mai 2012 20:23
    Moderator
  • 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!

    Montag, 21. Mai 2012 21:04

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/


    Montag, 21. Mai 2012 20:23
    Moderator
  • 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!

    Montag, 21. Mai 2012 21:04
  • 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/


    Montag, 21. Mai 2012 21:09
    Moderator