컴파일러 오류 CS1946

업데이트: 2007년 11월

오류 메시지

무명 메서드 식을 식 트리로 변환할 수 없습니다.
An anonymous method expression cannot be converted to an expression tree.

무명 메서드는 문 집합을 나타내지만 식 트리에 문이 있으면 안 됩니다. 따라서 식 트리에서 무명 메서드를 나타낼 수 없습니다.

이 오류를 해결하려면

  • 무명 메서드를 람다 식으로 변경합니다.

예제

다음 예제에서는 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# 프로그래밍 가이드)