Compiler Error CS1946

Ein anonymer Methodenausdruck kann nicht in eine Ausdrucksbaumstruktur konvertiert werden.

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

  1. 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

Anonyme Methoden
Ausdrucksbaumstrukturen