C# aggiornamento entity

Novità in C# 7.0 – Semplificazioni nel codice

In C# 7.0 sono presenti alcune funzionalità che consentono di semplificare la scrittura del codice, rendendo molto più semplice la sua lettura.

In particolare sono state introdotti i metodo expression bodied e throw expression.

Possiamo utilizzare le Expression bodied :

  • nei metodi
  • nelle properties
  • nei costruttori
  • nei distruttori
  • nelle throw exception

Le expression bodied utilizzano l’operatore “fat arrow” (=>) per definire il codice da eseguire.

Expression Bodied nei Metodi

Introdotte a partire dalla versione 6.0, le expression bodies sono state aggiornate per supportare membri expression bodied con costruttori, decostruttori e proprietà.

I metodo expression-bodied consentono di semplificare notevolmente la scrittura di codice. Supponiamo di avere un metodo che ha al suo interno un solo statement, in C# 5.0 avremmo scritto :

A partire dalla versione 6.0 possiamo sostituire il metodo con un’espressione lambda del tipo:

Lo stesso tipo di semplifcazione può essere utilizzata per ottenere il valore di una proprietà. L’equivalente codice scritto in C# 5 :

può essere semplificato nel seguente modo:

Le espressioni lambda possono essere scritte in forma abbreviata quando i suoi statement sono composti da una solo riga

Con C# 7.0 le funzionalità delle Expression Bodied sono state estese con la possibilità di utilizzare i costruttori direttamente inline. Il codice scritto in C# 6 ( in cui il metodo Resource stampa a video il valore restituito dalla funzione nameOf

può essere semplificato nel seguente modo:

Expression-Bodied nelle Properties

Le proprietà con il solo metodo get (quindi read-only) come quella nel codice seguente

possono essere semplificate in una singola riga di codice utilizzando un’expression-bodied:

Expression Bodied nei Costruttori e nei Distruttori

Nel caso in cui il costruttore abbia un solo statement può essere semplificato e riscritto mediante Expression Bodied. Il codice:

diventa:

Analogamente ai costruttori le espression bodied possono essere utilizzate per semplificare i distruttori. Il distruttore:

può essere semplificato nella seguente istruzione in-line

 Expression Bodied – throw exceptions

In C# 7.0 è possibile semplifcare un metodo in maniera compatta. Il seguente codice può essere, ad esempio,  semplificato

nel seguente

Sviluppando mockup di metodi si ha spesso la necessità di creare metodi incompleti, o che generano un’eccezione per indicare che non sono ancora stati implementati. La prima soluzione può essere quella di restituire null oppure nel caso di stringhe una stringa vuota.

Questa soluzione non è necessariamente la migliore perchè potrebbe generare falsi risultati e/o comportamenti non desiderati. Introducendo le expression bodied è possibile evitare questo tipo di problematica, creando un metodo che ritorna un’eccezione:

inserendo il throw direttamente all’interno del body del metodo.

 

 

Pubblicato da

Andrea Merlin

Laureato in informatica, diversi corsi di specializzazione legati allo Sviluppo Software e alla Computer forensics. Appassionato di nuove tecnologie, amo la programmazione, la Business Intelligence e tematiche legate alla Privacy.Sempre alla ricerca di nuove idee, stimoli … e progetti da seguire!Amo trascorrere il tempo libero in Val Borbera, un piccolo angolo del Piemonte, in provincia di Alessandria.