Entwicklung & Code

Neu in .NET 10.0 [7]: Semi-Auto Properties in C# 14.0


Im Dokument „What’s new in C# 14“ beschreibt Microsoft das Schlüsselwort field, mit dem man sogenannte Semi-Auto Properties erstellen kann.

Weiterlesen nach der Anzeige




Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.

Dieses Sprachfeature gibt es allerdings bereits in der stabilen Version von .NET 9.0 – darin aber im Status „Preview“. Das heißt, dass man dafür preview setzen musste. Die Erwähnung in „What’s new in C# 14“ legt die Vermutung nahe, dass das Sprachfeature in C# 14.0 schließlich als stabil gelten wird.

Folgender Code zeigt eine Semi-Auto Property mit dem Schlüsselwort field, das automatisch ein Field für die Property anlegt:


 /// 
 public int ID
 {
  get;
  set // init wäre hier auch erlaubt!
  {
   if (value < 0) throw new ArgumentOutOfRangeException();
   if (field > 0) throw new ApplicationException("ID schon gesetzt");
   field = value;
  }
 } = -1;


Falls es in (älterem) Programmcode bereits ein Datenmitglied mit Namen field gibt, warnt der Compiler, dass dieses nun nicht mehr verwendet wird. Das stellt gegebenenfalls einen Breaking Change dar, wenn beispielsweise eine Serialisierung für das Datenmitglied field existiert. Entwicklerinnen und Entwickler können aber die Verwendung des alten Datenmitglieds erzwingen, indem sie @field oder this.field im Programmcode schreiben.



In diesem Codeausschnitt ist field doppeldeutig.


(rme)



Source link

Beliebt

Die mobile Version verlassen