コンパイラ エラー CS1655

更新 : 2007 年 11 月

エラー メッセージ

'読み取り専用の変数型'であるため、'変数' のフィールドを ref または out 引数として渡せません

このエラーは、foreachusingfixed のいずれかの変数のメンバを ref 引数または out 引数として関数に渡そうとした場合に発生します。これらのコンテキストでは、変数は読み取り専用と見なされるため、このような記述は認められません。

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