Sdílet prostřednictvím


Compilerfehler CS1946

Aktualisiert: November 2007

Fehlermeldung

Ein anonymer Methodenausdruck kann nicht in eine Ausdrucksbaumstruktur konvertiert werden.
An anonymous method expression cannot be converted to an expression tree.

Eine anonyme Methode repräsentiert eine Gruppe von Anweisungen. Ausdrucksbaumstrukturen dürfen jedoch keine Anweisungen enthalten. Daher können anonyme Methoden nicht durch eine Ausdrucksbaumstruktur repräsentiert werden.

So beheben Sie diesen Fehler

  • Wandeln Sie die anonyme Methode in einen Lambda-Ausdruck um.

Beispiel

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

// cs1946.cs
using System;
    using System.Linq.Expressions;

    public delegate void D();

    class Test
    {
        static void Main()
        {
            Expression<D> tree = delegate() { }; //CS1946
            // Try using a lambda expression instead.
            // Expression<D> tree = (x) => x + 1;
        }
    }

Siehe auch

Konzepte

Ausdrucksbaumstrukturen

Referenz

Anonyme Methoden (C#-Programmierhandbuch)