다음을 통해 공유


컴파일러 오류 CS1951

업데이트: 2007년 11월

오류 메시지

식 트리 람다에는 out 또는 ref 매개 변수를 사용할 수 없습니다.
An expression tree lambda may not contain an out or ref parameter.

식 트리는 식을 데이터 구조로 나타내기만 합니다. 따라서 식 트리에는 매개 변수를 참조로 전달할 때 필요한 구체적인 메모리 위치를 나타낼 수 없습니다.

이 오류를 해결하려면

  • 대리자 정의에서 ref 한정자를 제거하고 매개 변수를 값으로 전달하는 방법밖에 없습니다.

예제

다음 예제에서는 CS1951 오류가 발생하는 경우를 보여 줍니다.

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

참고 항목

개념

식 트리