Sdílet prostřednictvím


Compilerfehler CS1951

Aktualisiert: November 2007

Fehlermeldung

Der Lambda-Ausdruck einer Ausdrucksbaumstruktur darf weder einen out-Parameter noch einen ref-Parameter enthalten.
An expression tree lambda may not contain an out or ref parameter.

In einer Ausdrucksbaumstruktur werden Ausdrücke lediglich als Datenstrukturen dargestellt. Es gibt keine Möglichkeit, bestimmte Speicheradressen darzustellen, wie dies bei der Übergabe eines Parameters durch einen Verweis erforderlich ist.

So beheben Sie diesen Fehler

  • Die einzige Möglichkeit besteht darin, den ref-Modifizierer aus der Delegatfunktion zu entfernen und den Parameter als Wert zu übergeben.

Beispiel

Durch das folgende Beispiel wird der Fehler CS1951 ausgelöst:

// cs1951.cs
using System.Linq;
public delegate int TestDelegate(ref int i);
class Test
{
    static void Main()
    {
        System.Linq.Expressions.Expression<TestDelegate> tree1 = (ref int x) => x; // CS1951
    }
}

Siehe auch

Konzepte

Ausdrucksbaumstrukturen