컴파일러 오류 CS8163

정적 읽기 전용 필드의 필드는 쓰기 가능 참조로 반환될 수 없습니다.

다음 샘플에서는 CS8163 오류가 발생합니다.

// CS8163.cs (12,14)
public class Test
{
    public struct S1
    {
        public char x;
    }

    public static readonly S1 s2;

    char Test2()
    {
        return s2.x;
    }
}

이 오류를 해결하려면

static readonly 필드의 값을 반환하려면 값으로 반환하도록 리팩터링하면 이 오류가 수정됩니다.

public class Test
{
    public struct S1
    {
        public char x;
    }

    public static readonly S1 s2;

    char Test2()
    {
        return s2.x;
    }
}