Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Parola chiave
La parola chiave get definisce un metodo funzione di accesso in una proprietà o indicizzatore che restituisce il valore della proprietà o l'elemento dell'indicizzatore. Per altre informazioni, vedere Proprietà , Proprietà implementate automaticamentee Indicizzatori .
Per casi semplici in cui le funzioni di accesso e get di set una proprietà non eseguono altre operazioni rispetto all'impostazione o al recupero di un valore in un campo sottostante privato, è possibile sfruttare il supporto del compilatore C# per le proprietà implementate automaticamente. Nell'esempio seguente viene Hours implementata come proprietà implementata automaticamente.
class TimePeriod3
{
public double Hours { get; set; }
}
Importante
Le proprietà implementate automaticamente non sono consentite per le dichiarazioni di proprietà dell'interfaccia o la dichiarazione di implementazione per una proprietà parziale. Il compilatore interpreta la sintassi corrispondente a una proprietà implementata automaticamente come dichiarazione dichiarante, non come dichiarazione di implementazione.
Spesso la funzione di accesso get è costituita da una singola istruzione che restituisce un valore, come nell'esempio precedente. È possibile implementare la funzione di accesso get come membro con corpo di espressione. L'esempio seguente implementa entrambe le funzioni di accesso get e set come membri con corpo di espressione.
class TimePeriod2
{
private double _seconds;
public double Seconds
{
get => _seconds;
set => _seconds = value;
}
}
Potrebbe essere necessario implementare uno dei corpi delle funzioni di accesso. È possibile usare una proprietà supportata da campi per consentire al compilatore di generare una funzione di accesso mentre si scrive l'altra. Usare la field parola chiave aggiunta in C# 14 per accedere al campo sottostante sintetizzato dal compilatore:
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
L'esempio seguente definisce le funzioni di accesso get e set per una proprietà denominata Seconds. Usa il campo privato denominato _seconds per portare in secondo piano il valore della proprietà.
class TimePeriod
{
private double _seconds;
public double Seconds
{
get { return _seconds; }
set
{
if (value < 0)
{
throw new ArgumentOutOfRangeException(nameof(value), "The value of the time period must be non-negative.");
}
_seconds = value;
}
}
}
Specifiche del linguaggio C#
Per altre informazioni, vedere la specifica del linguaggio C#. La specifica del linguaggio costituisce il riferimento ufficiale principale per la sintassi e l'uso di C#.