Inizializzare il valore di una proprietà complessa con C# 6

di Stefano Mostarda, in .NET Framework, C#6,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi