Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Cannot pass fields of 'variable' as a ref or out argument because it is a 'readonly variable type'
This error occurs if you are attempting to pass a member of a foreach variable, a using variable, or a fixed variable to a function as a ref or out argument. Because these variables are considered read-only in these contexts, this is not allowed.
The following sample generates 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
}
}
}