Ieri ho avuto una interessante discussione con un collega in merito all'uso di proprietà o campi all'interno di classi .NET. Nel passato ho già affrontato il tema, anche se in altra veste (http://www.ugidotnet.org/myprofile/blog/BlogReader.aspx?MemberID=8#182).

Oggi vorrei focalizzarmi solamente su questo aspetto. Quali sono i vantaggi di usare una proprietà rispetto ad un campo ? Le proprietà permettono solamente due cose in più rispetto ai campi:

1. definire una modalità di lettura e scrittura (implementazione del getter e setter)
2. definire la proprietà in sola lettura o sola scrittura

In base a queste differenze, penso che la scelta diviene molto semplice. Se non c'è bisogno di nessuna delle due features sopra elencate, possiamo usare i campi, altrimenti le proprietà.