C# Error
CS8159 – Cannot return the range variable ‘{0}’ by reference
Reason for the Error & Solution
Cannot return the range variable by reference
Example
The following sample generates CS8159:
// CS8159.cs (7,74)
using System.Linq;
class TestClass
{
delegate ref char RefCharDelegate();
void TestMethod()
{
var x = from c in "TestValue" select (RefCharDelegate)(() => ref c);
}
}
To correct this error
To return a range variable, refactoring to return by value correct this error:
using System.Linq;
class TestClass
{
delegate char RefCharDelegate();
void TestMethod()
{
var x = from c in "TestValue" select (RefCharDelegate)(() => c);
}
}