Entwickler-Ecke
C# - Die Sprache - array als property
Kouran - Di 04.12.07 21:50
Titel: array als property
heho,
wollte nur schnell mal was fragen, um sicher zu gehen. Ich arbeite im moment an einem relativ komplexen Projekt mit mehreren Leuten und wir haben gerade beim Zusammenbauen einiges an Fehlern und zwar speziell:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| [DataMember] private ServoMotor[] _motors = new ServoMotor[mc.ServoCount]; public ServoMotor[] Motors { get { return _motors; } set { _motors = value; } } |
ist es möglich ein array als property zu benutzen oder muß man dann für diesen Zweck das array als public deklarieren, was relativ unschön ist in meinen Augen. Wir können es momentan aufgrund mehrerer Fehler nicht debuggen, da wenn wir es mit einem public arry machen, andere Fehler auftauchen.
Würde gerne wissen ob diese Konstruktion prinzipiell möglich ist von der Sprache her. Danke schonmal im Vorraus.
Gruß
Tom
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt
golgol - Mi 05.12.07 09:27
Das kannst du so machen - voraus gesetzt, dass "mc" deklariert und initialisiert ist natürlich.
Robert_G - Mi 05.12.07 12:41
Arrays sind immutable.
Du kannst also nichts hinzufügen und entfernen.
Da sie gleichzeitig Referenztypen sind, kann es so zu Inkonsistenzen kommen.
Falls du den Array nur mit einer festen Läge pro Instanz brauchst, dann ginge das so:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| public readonly ServoMotor[] Motors;
public DeineKlasse() { Motors = new ServoMotor[mc.ServoCount]; } |
Wenn du ihn in unterschiedlichen Größen pro Instanz brauchst, dann nehme eine List<T>...
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!