Megosztás:


A beállított kulcsszó (C#-referencia)

A set kulcsszó olyan kiegészítő metódust határoz meg egy tulajdonságban vagy indexelőben, amely egy értéket rendel a tulajdonsághoz vagy az indexelő elemhez. További információkért és példákért lásd a Tulajdonságok, az Automatikusan implementált tulajdonságok és az Indexelők című témakört.

A C# nyelv referenciadokumentuma a C# nyelv legújabb kiadású verzióját ismerteti. Emellett a közelgő nyelvi kiadás nyilvános előzetes verziójú funkcióinak kezdeti dokumentációját is tartalmazza.

A dokumentáció azonosítja azokat a funkciókat, amelyeket először a nyelv utolsó három verziójában vagy az aktuális nyilvános előzetes verziókban vezetnek be.

Jótanács

Ha meg szeretné tudni, hogy mikor jelent meg először egy funkció a C#-ban, tekintse meg a C# nyelvi verzióelőzményeiről szóló cikket.

Olyan egyszerű esetekben, amikor egy tulajdonság get és set tartozéka nem hajt végre más műveletet, mint egy érték beállítása vagy lekérése egy privát háttérmezőben, használja az automatikusan implementált tulajdonságokat. Az alábbi példa automatikusan implementált tulajdonságként implementál Hours .

class TimePeriod3
{
    public double Hours { get; set; }
}

Fontos

Az illesztőtulajdonság-deklarációkhoz és a részleges tulajdonság implementálási deklarációihoz nem használhat automatikusan implementált tulajdonságokat. A fordító az automatikusan implementált tulajdonságnak megfelelő szintaxist deklaráló deklarációként értelmezi, nem implementáló deklarációként.

Előfordulhat, hogy végre kell hajtania az egyik tartozéktestet. A field C# 14-ben hozzáadott kulcsszó egy mező által támogatott tulajdonságot deklarál. Mezőháttér-tulajdonság használatával lehetővé teszi, hogy a fordító egy kiegészítőt hozzon létre, miközben kézzel írja a másikat. Használja a kulcsszót field a fordító szintetizált háttérmezőjének eléréséhez:

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

A kiegészítő gyakran egyetlen utasításból áll, set amely egy értéket rendel hozzá, ahogyan az előző példában is tette. A kiegészítőt set kifejezési testű tagként implementálhatja. Az alábbi példa kifejezési testű tagként implementálja a get tartozékokat és a set tartozékokat is.

class TimePeriod2
{
    private double _seconds;

    public double Seconds
    {
        get => _seconds;
        set => _seconds = value;
    }
}

Az alábbi példa egy nevű tulajdonsághoz gettartozó tartozékot setSeconds és tartozékot is definiál. A tulajdonság értékének visszaadásához egy elnevezett _seconds magánmezőt használ.

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# nyelvspecifikáció

További információkért lásd a C# nyelvi specifikációját. A nyelvi specifikáció a C#-szintaxis és -használat végleges forrása.

Lásd még