Kompilatorfel CS8159

Det går inte att returnera intervallvariabeln efter referens

Exempel

Följande exempel genererar 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);
    }
}

Så här åtgärdar du det här felet

Om du vill returnera en intervallvariabel korrigerar du det här felet genom att omstrukturera för att returnera efter värde:

using System.Linq;
class TestClass
{
    delegate char RefCharDelegate();
    void TestMethod()
    {
        var x = from c in "TestValue" select (RefCharDelegate)(() => c);
    }
}