C# Error
CS8162 – Members of readonly field ‘{0}’ cannot be returned by writable reference
Reason for the Error & Solution
Members of readonly field cannot be returned by writable reference
Example
The following sample generates CS8162:
// CS8162.cs (12,14)
public class Test
{
public struct S1
{
public char x;
}
public readonly S1 i2;
ref char Test1()
{
return ref i2.x;
}
}
To correct this error
To return the value of a readonly
field, refactoring to return by value corrects this error:
public class Test
{
public struct S1
{
public char x;
}
public readonly S1 i2;
char Test1()
{
return i2.x;
}
}