Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Nyckelordet
Nyckelordet get definierar en accessor-metod i en egenskap eller indexerare som returnerar egenskapsvärdet eller indexerarelementet. För mer information, se Egenskaper, Automatiskt implementerade egenskaper, och Indexers.
C#-språkreferensen dokumenterar den senaste versionen av C#-språket. Den innehåller även inledande dokumentation för funktioner i offentliga förhandsversioner för den kommande språkversionen.
Dokumentationen identifierar alla funktioner som först introducerades i de tre senaste versionerna av språket eller i aktuella offentliga förhandsversioner.
Tips/Råd
Information om när en funktion först introducerades i C# finns i artikeln om språkversionshistoriken för C#.
I enkla fall där en egenskaps get och set accessorer inte utför någon annan åtgärd än att ange eller hämta ett värde i ett privat bakgrundsfält kan du dra nytta av C#-kompilatorns stöd för automatiskt implementerade egenskaper. Följande exempel implementeras Hours som en automatiskt implementerad egenskap.
class TimePeriod3
{
public double Hours { get; set; }
}
Viktigt!
Du kan inte använda automatiskt implementerade egenskaper för gränssnittsegenskapsdeklarationer eller implementeringsdeklarationen för en partiell egenskap. Kompilatorn tolkar syntax som matchar en automatiskt implementerad egenskap som deklareringsdeklaration, inte en implementeringsdeklaration.
get Ofta består accessorn av en enda instruktion som returnerar ett värde, som det gjorde i föregående exempel. Du kan implementera get accessorn som en uttrycksbaserad medlem. I följande exempel implementeras både get accessorn och set som uttrycksbaserade medlemmar.
class TimePeriod2
{
private double _seconds;
public double Seconds
{
get => _seconds;
set => _seconds = value;
}
}
Du kanske upptäcker att du behöver implementera en av accessor-organen. Använd en fältstödd egenskap för att låta kompilatorn generera en accessor medan du skriver den andra för hand. Använd nyckelordet field , som lades till i C# 14, för att komma åt det kompilatorsyntetiserade bakgrundsfältet:
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
I följande exempel definieras både en get och en set accessor för en egenskap med namnet Seconds. Det använder ett privat fält med namnet _seconds för att stödja egenskapsvärdet.
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;
}
}
}
Språkspecifikation för C#
Mer information finns i C#-språkspecifikationen. Språkspecifikationen är den slutgiltiga källan för C#-syntax och -användning.