Around and About .NET World

Il blog di Marco Minerva
posts - 1671, comments - 2232, trackbacks - 2135

My Links

News

Contattami su Live Messenger:


MCTS: Windows, Web, Distributed Applications & SQL Server

MCPD: Enterprise Applications

Tag Cloud

Archives

Post Categories

Links

Una sintassi abbreviata per le proprietà in C#

Molte delle novità introdotte dal .NET Framework 3.5 hanno lo scopo di ridurre la quantità di codice da scrivere e migliorare la leggibilità del codice. Alcune a mio avviso sono interessanti, come gli Extension methods di cui ho parlato qualche giorno fa. Altre cose, invece, consentono sì di scrivere meno codice, ma a scapito della leggibilità del codice. Mi sto riferendo alla sintassi abbreviata per le definizione delle proprietà che è possibile utilizzare in C#. Una proprietà definita come segue:

private int _age; public int Age { get { return _age; }; set { _age = value; }; }

In C# 3.0 può essere riscritta semplicemente come:

public int Age { get; set; }

Questa dichiarazione verrà espansa a tempo di compilazione in modo da risultare simile a quella precedente. Tuttavia, utilizzando tale sintassi, la variabile privata è creata solo in fase di compilazione, quindi non risulta accessibile da codice. Questo "forma abbreviata" funziona solo con con le proprietà in lettura/scrittura. Non esiste un equivalente per Visual Basic .NET.

A mio avviso, ma è solo la mia opinione, l'utilizzo di questa sintassi può creare confusione (di fatto viene implicitamente creata una variabile privata), inoltre può essere utilizzata solo quando una proprietà si limita a leggere/scrivere una variabile privata, senza fare alcun controllo o validazione sul valore che viene passato.

Print | posted on venerdì 9 marzo 2007 22:13 | Filed Under [ C# Orcas & .NET 3.5 ]

Feedback

Gravatar

# re: Una sintassi abbreviata per le proprietà in C#

Mi ha lasciato senza parole...
Mi capita spesso di definire property che si comportano come nel codice di esempio, in attesa di un possibile futuro aumento di logica e talvolta è una bella noia stare a definirle una per una.
09/03/2007 22:25 | Diego Martelli
Gravatar

# Re: Una sintassi abbreviata per le proprietà in C#

Qui una bella spiegazione di questa e altre nuove features:

http://weblogs.asp.net/scottgu/archive/2007/03/08/new-c-orcas-language-features-automatic-properties-object-initializers-and-collection-initializers.aspx
10/03/2007 02:02 | Michele Bersani
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET