次の方法で共有


コンパイラ エラー CS8157

参照渡しで返せない値に初期化されたため、参照渡しで返すことができません

次の例では 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]);
    }
}

このエラーを解決するには

参照によって返すことができない値を返すには、値によって返されるようにリファクタリングすると、次のエラーが修正されます。

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