Nello script #391 abbiamo visto che con la versione 6 di C# possiamo inizializzare il valore di una proprietà direttamente nella sua dichiarazione senza dover passare per il costruttore. Questo permette un notevole risparmio di codice soprattutto in quei casi in cui abbiamo diverse proprietà complesse che devono essere inizializzate quando si istanzia la classe. Prendiamo ad esempio le proprietà di tipo lista; queste proprietà devono essere inizializzate in fase di costruzione dell'oggetto altrimenti ogni volta che proviamo ad aggiungere o recuperare o cancellare un elemento otteniamo una NullReferenceException.
class Person { public IEnumerable<Person> Children { get; } = new List<Person>(); public IEnumerable<Passport> Passports { get; } = new List<Passports>(); public IEnumerable<Person> Parents {get; } = new List<Person>(); }
La stessa tecnica è applicabile anche a oggetti singoli e non solo a liste permettendoci praticamente di eliminare il costruttore senza parametri in quei casi in cui dobbiamo solo inizializzare proprietà.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- #IE10 disponibile al download da subito: http://aspitalia.com/vf http://aspitalia.com/mix-11 #mix11
- #ie10 supporta il multitouch anche in #Javascript. http://aspitalia.com/build-win8 #BldWin
- stiamo per partire con #aspilive .NET Serverless Day, con @dbochicchio, @cristiancivera e @kasukenhttps://aspit.co/ServerlessDay #azure #aws #serverless #dotnet
- vuoi costruire applicazioni web in real time? non perdere il nostro speciale! https://aspit.co/aln #signalr #websockets #polling #aspnet
- finiamo con @itsonlyGianca e #Windows10 iot core e #raspberrypi2 con #VS2015 su #aspilive: https://aspit.co/VS2015-live
- #Windows10 #iot core è ora disponibile al download per #RaspberryPI2 e #MinnowBoardMAX: https://aspit.co/a6a