Kompilatorfel CS8171

Det går inte att initiera en eftervärdesvariabel med en referens

Exempel

Följande exempel genererar CS8171:

// CS8171.cs (8,13)

class Test
{
    void A()
    {
        int a = 123;
        ref int x = ref a;
        var y = ref x;
    }
}

Kom ihåg att var y = ref x är implicit int y = ref x där int y är en värdevariabel.

Så här åtgärdar du det här felet

ref Om du tar bort modifieraren från höger sida av tilldelningen korrigeras det här felet:

class Test
{
    void A()
    {
        int a = 123;
        ref int x = ref a;
        var y = x;
    }
}