Entwickler-Ecke

Sonstiges (.NET) - Serialisierte Objekte ansprechen?


Nilan - Do 14.05.09 20:27
Titel: Serialisierte Objekte ansprechen?
Hallo Leute.

Zuerst erstelle ich 6 Labels zur Laufzeit:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
      
            {
            int x = 12;
            Label[] lbl = new Label[6];
            for (int i = 0; i < 6; i++)
            {
                lbl[i] = new Label();
                lbl[i].Name = "zahl" + i.ToString();
                lbl[i].Location = new Point(x, 39); 
                lbl[i].Text = "Label1";
                this.Controls.Add(lbl[i]);
                x += 25;
            }
            }


Wenn ich jetzt das hier mache:


C#-Quelltext
1:
2:
3:
4:
5:
6:
private void buStart_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 6; i++)
            {
                lbl[i].Text=i.ToString();   //Lediglich ein Beispiel, mein Code ist komplexer
            }

kennt der Compiler lbl[i] natürlich noch nicht. Hat jemand einen Lösungsansatz dafür?

LG, Nilan :)

//Edit:Ist der Begriff "Serialisierung" überhaupt richtig? Wenn nicht, berichtigt mich bitte


Kha - Do 14.05.09 23:06

user profile iconNilan hat folgendes geschrieben Zum zitierten Posting springen:
kennt der Compiler lbl[i] natürlich noch nicht.
Ja, weil es eine lokale Variable ist. Mach ein Klassenfeld daraus, dann kannst du auf das Array methodenübergreifend zugreifen.
user profile iconNilan hat folgendes geschrieben Zum zitierten Posting springen:
//Edit:Ist der Begriff "Serialisierung" überhaupt richtig? Wenn nicht, berichtigt mich bitte
Serialisierung ist etwas anderes, das hier fällt eher unter "Grundlagen der OOP" ;) .

PS: "Name" ist eigentlich eine reine Designtime-Eigenschaft, die wirst du wahrscheinlich nicht brauchen.


Nilan - Sa 16.05.09 11:23

Ach, ok danke schön.
Bin grad dabei eine Einführung in die OOP durchzunehmen ;)