Expression Tree Compilation이란 식(expression) 또는 람다(lambda)와 같은 C#코드를 트리 구조로 동적으로 구성한 후, 런타임에 이를 실제 실행 가능한 코드로 변환(컴파일)하여 바로 사용할 수 있도록 만드는 기술입니다.
.Compile()
메서드를 사용하면 그 구조가 실제 실행 코드(델리게이트)로 변환됩니다.using System.Linq.Expressions;
ParameterExpression param = Expression.Parameter(typeof(int), "x");
ConstantExpression constant = Expression.Constant(5);
BinaryExpression body = Expression.Add(param, constant);
Expression<Func<int, int>> lambda = Expression.Lambda<Func<int, int>>(body, param);
var compiledLambda = lambda.Compile();
int result = compiledLambda(10); // result = 15
System.Linq.Expressions
네임스페이스에서 지원되고, 다양한 Factory 메서드와 트리 노드 클래스를 제공합니다.Expression Tree Compilation은 동적 코드 생성, 분석, 최적화, LINQ 기반 데이터 접근 등에서 필수적인 도구이며, 주로 실행 시점에 로직을 유연하게 만들고자 할 때 큰 가치를 발휘합니다.
Executing Expression Trees - C#
Learn about executing expression trees by converting them into executable Intermediate Language (IL) instructions.
learn.microsoft.com
Expression<TDelegate>.Compile 메서드 (System.Linq.Expressions)
식 트리로 기술된 람다 식을 실행 코드로 컴파일하고 람다 식을 나타내는 대리자를 생성합니다.
learn.microsoft.com
[C#] 의존성 주입(Dependency Injection, DI) (0) | 2025.09.24 |
---|---|
Epoll의 기초 개념 및 사용 방법 (0) | 2019.01.05 |
소켓의 우아한 연결 종료 (0) | 2017.10.09 |
EPOLL 함수 정리 및 기초 (0) | 2017.09.13 |