Interner Zugriff durch Property oder Member?
-
Wie benutzt ihr innerhalb einer Klasse Klassenattribute, wenn sie Properties zugeordnet sind? Benutzt ihr die Properties oder direkt die Variablen. Hier zwei Beispiele:
byte zensur; byte Zensur { get { return zensur; } set { if (zensur < 1 || zensur > 6) new Exception("Ungültiger Wert."); else zensur = value; } }
int wert; int Wert { get { return wert; } set { wert = value; } }
Wenn ihr innerhalb der Klasse mit diesen Werten arbeitet (und sie intern an einer Stelle nicht bewusst einen falschen Wert bekommen sollen, der von außen nicht belegt werden könnte), welchen Zugriff bevorzugt ihr und warum? Property oder direkter Variablenzugriff?
-
direkter zugriff....
-
Du kannst den private Member auch weglassen,wobei ich das nicht wirklich bevorzuge, und es so machen:
int Property { get; set; }
Somit fungiert "Property" sogesehen auch als Variable, aber wie gesagt, ist nicht gerade angenehm. Ich hab lieber immernoch eine zugehörige private Member Variable in der Hinterhand.
-
Was bei der "schnellvairante" fehlt ist die Möglichkeit nen defaultwert zu setzen :o( (Oder geht das doch ?
Ich persönlich bevorzuge den Zugriff über das Probertie - einfach um den Code dasd gleiche Verhalten zu verpassen wie dem Client. Den direkten Zugriff verwende ich nur, wenn ich z.B. eine Prüfroutine des Properties übergehen will.
-
setz den default wert doch im konstruktor ?!
-
Ein
int x = 12; int timeout = 3000;
gefällt mir
Der Konstruktor ist natürlich ein Platz dafür.