C# Error
CS8151 – The return expression must be of type ‘{0}’ because this method returns by reference
Reason for the Error & Solution
The return expression must be of type because this method returns by reference
Example
The following sample generates CS8151:
// CS8151.cs (6,20)
class Program
{
ref int M(ref long i)
{
return ref i;
}
}
To correct this error
Ensuring that a ref
return matches the type of the referenced variable regardless of any implicit conversions corrects this error:
class Program
{
ref long M(ref long i)
{
return ref i;
}
}