CS1655 de erro do compilador

Mensagem de erro

Não é possível passar campos de 'variável' sistema autônomo ref ou out argumento porque é um 'somente leitura e tipo de variável'

Este erro ocorre se você está tentando passar um membro de um foreach variável, um usando o variável ou um fixo variável para uma função sistema autônomo ref ou out argumento.Como essas variáveis são consideradas somente leitura nestes contextos, isso não é permitido.

O exemplo a seguir gera 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
     }
  }
}