Kompilatorfel CS8157

Det går inte att returnera med referens eftersom det initierades till ett värde som inte kan returneras med referens

Exempel

Följande exempel genererar CS8157:

// CS8157.cs (8,21)

class C
{
    ref int M()
    {
        int x = 0;
        ref int rx = ref x;
        return ref (rx = ref (new int[1])[0]);
    }
}

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

Om du vill returnera ett värde som inte kan returneras med referens korrigerar refaktorisering som returneras av värdet det här felet:

class C
{
    int M()
    {
        int x = 0;
        ref int rx = ref x;
        return rx = ref (new int[1])[0];
    }
}