Error del compilador CS1655
Actualización: noviembre 2007
Mensaje de error
No se pueden pasar los campos de 'variable' como argumento out o ref porque es un 'tipo de variable de sólo lectura'
Cannot pass fields of 'variable' as a ref or out argument because it is a 'readonly variable type'
Este error se produce cuando se intenta pasar un miembro de una variable foreach, using o fixed a una función como argumento ref u out. No se permite hacerlo porque estas variables se consideran de sólo lectura en estos contextos.
El código siguiente genera el error CS1655:
// CS1655.cs
struct S
{
public int i;
}
class CMain
{
static void f(ref int iref)
{
}
public static void Main()
{
S[] sa = new S[10];
foreach(S s in sa)
{
CMain.f(ref s.i); // CS1655
}
}
}