get (C#-verwijzing)
Het get
trefwoord definieert een accessormethode in een eigenschap of indexeerfunctie die de eigenschapswaarde of het indexeerelement retourneert. Zie Eigenschappen[Automatisch geïmplementeerde eigenschappen](.) voor meer informatie. /.. /programming-guide/classes-and-structs/automatically implemented-properties.md) en Indexeerfuncties.
In het volgende voorbeeld worden zowel een get
als een set
toegangsfunctie gedefinieerd voor een eigenschap met de naam Seconds
. Er wordt een privéveld gebruikt dat de eigenschapswaarde _seconds
back-up maakt.
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;
}
}
}
Vaak bestaat de get
accessor uit één instructie die een waarde retourneert, zoals in het vorige voorbeeld is gedaan. U kunt de get
toegangsfunctie implementeren als een expressie-lichaamslid. In het volgende voorbeeld worden zowel de get
als de set
toegangsfunctie geïmplementeerd als expressie-lichaamsleden.
class TimePeriod2
{
private double _seconds;
public double Seconds
{
get => _seconds;
set => _seconds = value;
}
}
Voor eenvoudige gevallen waarin de get
eigenschappen en set
accessors van een eigenschap geen andere bewerking uitvoeren dan het instellen of ophalen van een waarde in een privébackingveld, kunt u profiteren van de ondersteuning van de C#-compiler voor automatisch geïmplementeerde eigenschappen. In het volgende voorbeeld wordt geïmplementeerd Hours
als een automatisch geïmplementeerde eigenschap.
class TimePeriod3
{
public double Hours { get; set; }
}
Belangrijk
Automatisch geïmplementeerde eigenschappen zijn niet toegestaan voor declaraties van interface-eigenschappen of de implementatiedeclaratie voor een gedeeltelijke eigenschap. De compiler interpreteert syntaxis die overeenkomt met een automatisch geïmplementeerde eigenschap als de declaratie, niet als een implementatiedeclaratie.
C#-taalspecificatie
Zie de C#-taalspecificatie voor meer informatie. De taalspecificatie is de definitieve bron voor de C#-syntaxis en het gebruik.