Aus dem Kurs: C# – Tipps und Tricks
Felder als readonly markieren
Aus dem Kurs: C# – Tipps und Tricks
Felder als readonly markieren
Felder einer Klasse können einfach als readonly markiert werden und sind somit nur noch vom Konstruktor aus veränderbar. Später können diese Werte nur noch gelesen werden, und der Einsatz ist relativ einfach, trotzdem werfen wir einen kurzen Blick auf dieses nette kleine Feature. Und der Blick sieht so aus, dass ich hier das Beispiel habe, ich deklariere eine Klasse und hier unten erzeuge ich zur Laufzeit von dieser Klasse eine Instanz und kann dann auf die entsprechenden Felder zugreifen, das heißt, ich kann den Namen entsprechend abrufen, das ist überhaupt kein Problem. Was ich aber nicht machen kann, ich kann dem Namen keinen neuen Wert geben. Der Coder der Klasse ist recht einfach. Ich habe hier meine Felder, und alle sind mit readonly ausgestattet, das heißt, ich kann nur aus dem Konstruktor oder aus einem Konstruktor, aus einer der Basisklassen diese Werte setzen. Und wenn die Konstruktoren mal gelaufen sind, dann sind diese Werte readonly, können also nur noch gelesen werden. Der einzige Wermutstropfen hier ist, dass, wenn ich beispielsweise mit WPF arbeite und so etwas wie ein INotifyChangedEvent in die Eigenschaften reinbringen würde, kann ich das nicht machen, weil es sind ja keine Eigenschaften. Und wenn ich mit dem alten Entity Framework, also mi 6X arbeite, dann habe ich auch das Problem, dass dies keine Eigenschaften, sondern Felder sind. Aber in Situationen, wo ich mit Feldern genauso gut umgehen kann wie mit Eigenschaften, ist das eine nette Sache, um sicherzustellen, dass diese Werte im Nachhinein nicht mehr modifiziert werden können.
Inhalt
-
-
-
Richtig auf null prüfen2 Min. 20 Sek.
-
(Gesperrt)
Null-Conditional-Operator nutzen2 Min. 53 Sek.
-
(Gesperrt)
Null-Coalescing-Operator verwenden2 Min. 26 Sek.
-
(Gesperrt)
Ausnahme werfen, wenn ein Wert null ist2 Min. 3 Sek.
-
(Gesperrt)
Null-Forgiving-Operator einsetzen3 Min. 53 Sek.
-
(Gesperrt)
NameOf-Operator anwenden2 Min. 14 Sek.
-
(Gesperrt)
Mit der String-Interpolation arbeiten2 Min. 17 Sek.
-
(Gesperrt)
Objekte initialisieren2 Min. 28 Sek.
-
(Gesperrt)
Using-Block und IDisposable verstehen2 Min. 50 Sek.
-
(Gesperrt)
Ressourcen mit using-Declarations freigeben2 Min. 53 Sek.
-
Tupel in der Praxis nutzen3 Min. 12 Sek.
-
(Gesperrt)
Switch-Anweisung mit Typen erstellen2 Min. 9 Sek.
-
(Gesperrt)
Preprocessor-Direktiven einsetzen3 Min. 42 Sek.
-
(Gesperrt)
Zeichenketten richtig vergleichen2 Min. 30 Sek.
-
(Gesperrt)
Richtig auf leere Zeichenkette prüfen2 Min. 1 Sek.
-
(Gesperrt)
Mehrfachzuweisungen vornehmen1 Min. 17 Sek.
-
(Gesperrt)
Zwischenergebnisse mit dem yield-Operator liefern2 Min. 6 Sek.
-
(Gesperrt)
Erweiterungsmethoden (Extension Methods) nutzen2 Min. 45 Sek.
-
(Gesperrt)
Indexzugriffe auf Arrays durchführen2 Min. 21 Sek.
-
(Gesperrt)
Getter und Setter mit unterschiedlichem Zugriffslevel2 Min. 49 Sek.
-
Felder als readonly markieren1 Min. 44 Sek.
-
(Gesperrt)
Prüfen, ob eine Zeichenkette eine Zahl enthält3 Min. 13 Sek.
-
(Gesperrt)
CultureInfo praktisch einsetzen2 Min. 39 Sek.
-
(Gesperrt)
Console nutzen2 Min. 9 Sek.
-
(Gesperrt)
Verzeichnis komprimieren1 Min. 45 Sek.
-