Condividi tramite


C# 6.0: Inizializzazione delle proprietà automatiche (it-IT)

**
**

Inizializzazione delle proprietà automatiche

Le proprietà automatiche di C# (disponibili dalla versione 3.0 del linguaggio), dette anche auto-property, cioè quelle implementate con dei rami get e set vuoti, permettono di risparmiare il codice necessario alla scrittura di un campo privato. 
Con C# 6 è possibile inizializzare tali proprietà direttamente in fase di dichiarazione, evitando appunto l’uso di un campo, oppure di farlo nel costruttore.
Scriviamo una classe Persona, con delle proprietà automatiche:

class Persona
{
   public string  Nome { get; set; }
   public string  Cognome { get; set; };
}

Per inizializzarle, basta aggiungere una semplice assegnazione:

class Persona
{
   public string  Nome { get; set; } = "Antonio";
   public string  Cognome { get; set; } ="Pelleriti";
}

Per provarlo basta creare una istanza della classe Persona e farsi stampare i valori delle proprietà.
Tecnicamente, l’inizializzatore non fa altro che impostare il valore del backing field (cioè del campo privato) generato dal compilatore.
Fra le cose a cui prestare attenzione, si noti che non si può usare la keyword this, perché l’assegnazione del valore avverrà prima che l’oggetto sia stato costruito, e quindi this non esiste ancora.
**
**

Proprietà di sola lettura.

Le proprietà automatiche possono ora essere anche dichiarate senza il ramo set, inizializzandone il valore allo stesso modo:

public int  IDPersona { get; } = 1;

in questo caso il backing field sarà dichiarato come read-only e quindi potrà essere inizializzato.
L’altra modalità permessa per inizializzare una proprietà a sola lettura è quella di farlo nel costruttore:

public DateTime DataNascita { get; }
 
public Persona()
{
  DataNascita = DateTime.Now;                
}

Naturalmente è possibile inizializzare la proprietà get anche tramite un valore passato come argomento al costruttore:

public Persona(DateTime dt)
{
  DataNascita = dt;               
}

Impostare la versione di C#

In Visual Studio 2015 è possibile impostare la versione di C# da usare per la compilazione. Aprendo le proprietà del progetto, quindi andando alla sezione Build e poi cliccando su Advanced, apparirà la finestra seguente:

In generale potete verificare che le funzionalità di inizializzazione delle proprietà automatiche non sono presenti compilando con C# 5 o precedenti. 
Nel caso degli esempi precedenti vedreste degli errori che indicano esplicitamente che le caratteristiche usate non sono disponibili e che è necessario usare la versione 6.


**
**

Altre risorse.

Altre risorse di sviluppo o per professionisti IT disponibili nella pagina Articoli Italiani su Technet Wiki.