컴파일러 오류 CS8148

재정의된 멤버의 참조 반환과 일치해야 함

다음 샘플에서는 CS8148을 생성합니다.

// CS8148.cs (11,29)

public class Base
{
    public virtual int GetNumber() { return 0; }
}

public class Derived : Base
{
    private int number;

    public override ref int GetNumber() { return ref number; }
}

이 오류를 해결하려면

참조로 반환하지 않는 멤버가 값으로 반환하는 기본 멤버를 구현하도록 하면 다음 오류가 수정됩니다.

public class Base
{
    public virtual int GetNumber() { return 0; }
}

public class Derived : Base
{
    private int number;

    public override int GetNumber() { return number; }
}