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(); } |
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
Nilan hat folgendes geschrieben : |
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.
Nilan hat folgendes geschrieben : |
//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 ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!