コンパイラ エラー CS1946

更新 : 2007 年 11 月

エラー メッセージ

匿名メソッド式を式のツリーに変換することはできません。

匿名メソッドは一連のステートメントを表しますが、式のツリーにステートメントを含めることはできません。したがって、匿名メソッドを式のツリーで表すことはできません。

このエラーを解決するには

  • 匿名メソッドをラムダ式に変更します。

使用例

次のコードは CS1946 を生成します。

// 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;
        }
    }

参照

概念

式ツリー

参照

匿名メソッド (C# プログラミング ガイド)