Expression<TDelegate>.Compile 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
Compile() |
식 트리로 기술된 람다 식을 실행 코드로 컴파일하고 람다 식을 나타내는 대리자를 생성합니다. |
Compile(Boolean) |
식 트리로 설명되는 람다 식을 해석되거나 컴파일된 코드로 컴파일하고 람다 식을 나타내는 대리자를 생성합니다. |
Compile(DebugInfoGenerator) |
람다 식을 나타내는 대리자를 생성합니다. |
Compile()
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
식 트리로 기술된 람다 식을 실행 코드로 컴파일하고 람다 식을 나타내는 대리자를 생성합니다.
public:
TDelegate Compile();
public TDelegate Compile ();
override this.Compile : unit -> 'Delegate
Public Function Compile () As TDelegate
반환
Expression<TDelegate>로 기술된 컴파일된 람다 식을 나타내는 TDelegate
형식의 대리자입니다.
예제
다음 코드 예제에서는 식 트리를 실행 하는 데 사용 하는 방법을 Compile 보여 줍니다.
// Lambda expression as data in the form of an expression tree.
System.Linq.Expressions.Expression<Func<int, bool>> expr = i => i < 5;
// Compile the expression tree into executable code.
Func<int, bool> deleg = expr.Compile();
// Invoke the method and print the output.
Console.WriteLine("deleg(4) = {0}", deleg(4));
/* This code produces the following output:
deleg(4) = True
*/
' Lambda expression as data in the form of an expression tree.
Dim expression As System.Linq.Expressions.Expression(Of Func(Of Integer, Boolean)) = Function(ByVal i) i < 5
' Compile the expression tree into executable code.
Dim deleg As Func(Of Integer, Boolean) = expression.Compile()
' Invoke the method and print the output.
MsgBox(String.Format("deleg(4) = {0}", deleg(4)))
' This code produces the following output:
'
' deleg(4) = True
설명
메서드는 Compile 런타임에 형식 TDelegate
의 대리자를 생성합니다. 해당 대리자를 실행하면 의 의미 체계에서 설명하는 동작이 Expression<TDelegate>있습니다.
메서드를 Compile 사용하여 식 트리의 값을 가져올 수 있습니다. 먼저 메서드를 사용하여 Lambda 식을 본문으로 포함하는 람다 식을 만듭니다. 그런 다음 를 호출 Compile 하여 대리자를 가져오고 대리자를 실행하여 식 값을 가져옵니다.
적용 대상
Compile(Boolean)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
식 트리로 설명되는 람다 식을 해석되거나 컴파일된 코드로 컴파일하고 람다 식을 나타내는 대리자를 생성합니다.
public:
TDelegate Compile(bool preferInterpretation);
public TDelegate Compile (bool preferInterpretation);
override this.Compile : bool -> 'Delegate
Public Function Compile (preferInterpretation As Boolean) As TDelegate
매개 변수
- preferInterpretation
- Boolean
식이 해석된 형식으로 컴파일되어야 함을 나타내려면 true
이고(사용 가능 시), 그러지 않은 경우 false
입니다.
반환
Expression<TDelegate>에서 설명하는 컴파일된 람다 식을 나타내는 대리자입니다.
적용 대상
Compile(DebugInfoGenerator)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
람다 식을 나타내는 대리자를 생성합니다.
public:
TDelegate Compile(System::Runtime::CompilerServices::DebugInfoGenerator ^ debugInfoGenerator);
public TDelegate Compile (System.Runtime.CompilerServices.DebugInfoGenerator debugInfoGenerator);
override this.Compile : System.Runtime.CompilerServices.DebugInfoGenerator -> 'Delegate
Public Function Compile (debugInfoGenerator As DebugInfoGenerator) As TDelegate
매개 변수
- debugInfoGenerator
- DebugInfoGenerator
컴파일러에서 시퀀스 위치를 표시하고 지역 변수에 주석을 추가하는 데 사용하는 디버깅 정보 생성기입니다.
반환
컴파일된 람다 버전을 포함하는 대리자입니다.
적용 대상
.NET