Proprietà (Guida per programmatori C#)
Le proprietà sono membri che offrono un meccanismo flessibile per la lettura, la scrittura o il calcolo dei valori dei campi privati. Possono essere utilizzate come se fossero membri dati pubblici ma sono in realtà metodi speciali denominati funzioni di accesso. Questo consente di semplificare l'accesso ai dati fornendo al tempo stesso la sicurezza e la flessibilità dei metodi.
In questo esempio viene archiviato un periodo di tempo nella classe TimePeriod
. A livello interno, il periodo viene archiviato in secondi. Tuttavia, viene fornita una proprietà denominata Hours
che consente a un client di esprimere il tempo in ore. Le funzioni di accesso della proprietà Hours
consentono di eseguire la conversione da ore a secondi e viceversa.
Esempio
class TimePeriod
{
private double seconds;
public double Hours
{
get { return seconds / 3600; }
set { seconds = value * 3600; }
}
}
class Program
{
static void Main()
{
TimePeriod t = new TimePeriod();
// Assigning the Hours property causes the 'set' accessor to be called.
t.Hours = 24;
// Evaluating the Hours property causes the 'get' accessor to be called.
System.Console.WriteLine("Time in hours: " + t.Hours);
}
}
Output
Time in hours: 24
Cenni preliminari sulle proprietà
Le proprietà consentono a una classe di esporre un modo pubblico per ottenere e impostare valori, nascondendo tuttavia il codice di implementazione o di verifica.
La funzione di accesso get della proprietà viene utilizzata per restituire il valore della proprietà, mentre la funzione di accesso set viene utilizzata per assegnare un nuovo valore. A queste funzioni di accesso è possibile assegnare livelli di accesso differenti. Per ulteriori informazioni, vedere Accessibilità delle funzioni di accesso.
La parola chiave value viene utilizzata per definire il valore assegnato dall'indicizzatore set.
Le proprietà che non implementano un metodo set sono in sola lettura.
Sezioni correlate
Confronto tra proprietà e indicizzatori (Guida per programmatori C#)
Accessibilità asimmetrica delle funzioni di accesso (Guida per programmatori C#)
Specifiche del linguaggio C#
Per ulteriori informazioni, vedere le seguenti sezioni in Specifiche del linguaggio C#:
1.6.6.2 Proprietà
10.2.7.1 Nomi dei membri riservati per le proprietà
10.6 Proprietà
Vedere anche
Riferimenti
Utilizzo delle proprietà (Guida per programmatori C#)
Indicizzatori (Guida per programmatori C#)