C# Error
CS8148 – ‘{0}’ must match by reference return of overridden member ‘{1}’
Reason for the Error & Solution
must match by reference return of overridden member
Example
The following sample generates 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; }
}
To correct this error
Ensuring that base members that return by value are implemented by members that do not return by reference corrects this error:
public class Base
{
public virtual int GetNumber() { return 0; }
}
public class Derived : Base
{
private int number;
public override int GetNumber() { return number; }
}