CS0459 de erro do compilador

Mensagem de erro

Não é possível obter o endereço de uma variável local somente leitura

Há três cenários comuns em linguagem translation from VPE for Csharp geram variáveis locais somente leitura: foreach, using, e fixed. Em cada um desses casos, você não tem permissão para gravar a variável local somente leitura ou para obter seu endereço.Este erro é gerado quando o compilador percebe que você está tentando obter o endereço de uma variável local somente leitura.

Exemplo

O exemplo a seguir gera CS0459 quando é feita uma tentativa de obter o endereço de uma variável local somente leitura em um foreach loop e, em um fixed Bloco de instruções.

// CS0459.cs
// compile with: /unsafe

class A
{
    public unsafe void M1()
    {
        int[] ints = new int[] { 1, 2, 3 };
        foreach (int i in ints)
        {
            int *j = &i;  // CS0459
        }

        fixed (int *i = &_i)
        {
            int **j = &i;  // CS0459
        }
    }

    private int _i = 0;
}