Delen via


Het get-trefwoord

Het get trefwoord definieert een accessormethode in een eigenschap of indexeerfunctie die de eigenschapswaarde of het indexeerelement retourneert. Zie Eigenschappen, Eigenschappenautomatisch geïmplementeerd en Indexeerfunctiesvoor meer informatie.

De C#-taalreferentiedocumenten beschrijven de meest recent uitgebrachte versie van de C#-taal. Het bevat ook de eerste documentatie voor functies in openbare previews voor de aanstaande taalrelease.

De documentatie identificeert alle functies die voor het eerst zijn geïntroduceerd in de laatste drie versies van de taal of in de huidige openbare previews.

Aanbeveling

Raadpleeg het artikel over de versiegeschiedenis van de C#-taal om te achterhalen wanneer een functie voor het eerst is geïntroduceerd in C#.

Voor eenvoudige gevallen waarin de get eigenschap en set accessors geen andere bewerking uitvoeren dan het instellen of ophalen van een waarde in een privé-backingveld, profiteert u 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

U kunt geen automatisch geïmplementeerde eigenschappen gebruiken 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.

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;
    }
}

Het kan zijn dat u een van de toegangsorganen moet implementeren. Gebruik een eigenschap met veldsteun om de compiler één accessor te laten genereren terwijl u de andere met de hand schrijft. Gebruik het field trefwoord, toegevoegd in C# 14, om toegang te krijgen tot het gesynthetiseerde backingveld van de compiler:

class TimePeriod4
{
    public double Hours {
        get;
        set => field = (value >= 0)
            ? value
            : throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
    }
}

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;
        }
    }
}

C#-taalspecificatie

Zie de C#-taalspecificatie voor meer informatie. De taalspecificatie is de definitieve bron voor de C#-syntaxis en het gebruik.

Zie ook