Expression.Lambda 메서드

정의

람다 식을 나타내는 식 트리를 만듭니다.

오버로드

Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)

람다 이름, 마무리 호출 최적화 적용 여부를 나타내는 매개 변수 및 매개 변수 식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)

람다 이름과 매개 변수식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)

마무리 호출 최적화 적용 여부를 나타내는 매개 변수와 매개 변수 식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)

먼저 식 본문에서 대리자 형식을 생성하고 람다 이름, 마무리 호출 최적화 적용 여부를 나타내는 매개 변수 및 매개 변수 식의 열거 가능한 컬렉션을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

Lambda(Type, Expression, ParameterExpression[])

매개 변수 식의 배열을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

Lambda(Type, Expression, Boolean, ParameterExpression[])

마무리 호출 최적화 적용 여부를 나타내는 매개 변수 및 매개 변수 식의 배열을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

Lambda(Expression, String, IEnumerable<ParameterExpression>)

먼저 식 본문에서 대리자 형식을 생성하고 람다 이름과 매개 변수 식의 열거 가능한 컬렉션을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

Lambda(Expression, Boolean, ParameterExpression[])

먼저 식 본문에서 대리자 형식을 생성하고 마무리 호출 최적화 적용 여부를 나타내는 매개 변수와 매개 변수 식의 배열을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

먼저 식 본문에서 대리자 형식을 생성하고 마무리 호출 최적화 적용 여부를 나타내는 매개 변수와 매개 변수 식의 열거 가능한 컬렉션을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

매개 변수식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

Lambda(Expression, ParameterExpression[])

먼저 식 본문에서 대리자 형식을 생성하고 매개 변수 식의 배열을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

Lambda(Expression, IEnumerable<ParameterExpression>)

먼저 식 본문에서 대리자 형식을 생성하고 매개 변수 식의 열거 가능한 컬렉션을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)

람다 이름과 매개 변수식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])

마무리 호출 최적화 적용 여부를 나타내는 매개 변수 및 매개 변수 식의 배열을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)

람다 이름, 마무리 호출 최적화 적용 여부를 나타내는 매개 변수 및 매개 변수 식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

Lambda<TDelegate>(Expression, ParameterExpression[])

매개 변수 식의 배열을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)

매개 변수식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)

마무리 호출 최적화 적용 여부를 나타내는 매개 변수와 매개 변수 식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

람다 이름, 마무리 호출 최적화 적용 여부를 나타내는 매개 변수 및 매개 변수 식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, System::String ^ name, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, string name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, string? name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * string * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, name As String, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

매개 변수

delegateType
Type

람다에 대한 대리자 시그니처를 나타내는 Type입니다.

body
Expression

Expression 속성에 설정할 Body입니다.

name
String

람다의 이름입니다. 디버그 정보를 내보내는 데 사용됩니다.

tailCall
Boolean

만들어진 식을 컴파일할 때 마무리 호출 최적화가 적용될지를 나타내는 Boolean입니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

LambdaExpression 속성이 Lambda이고 NodeTypeBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

람다 이름과 매개 변수식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, System::String ^ name, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, string name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, string? name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * string * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, name As String, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

매개 변수

delegateType
Type

람다에 대한 대리자 시그니처를 나타내는 Type입니다.

body
Expression

Expression 속성에 설정할 Body입니다.

name
String

람다의 이름입니다. 디버그 정보를 내보내는 데 사용됩니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

LambdaExpression 속성이 Lambda이고 NodeTypeBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

마무리 호출 최적화 적용 여부를 나타내는 매개 변수와 매개 변수 식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

매개 변수

delegateType
Type

람다에 대한 대리자 시그니처를 나타내는 Type입니다.

body
Expression

Expression 속성에 설정할 Body입니다.

tailCall
Boolean

만들어진 식을 컴파일할 때 마무리 호출 최적화가 적용될지를 나타내는 Boolean입니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

LambdaExpression 속성이 Lambda이고 NodeTypeBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

먼저 식 본문에서 대리자 형식을 생성하고 람다 이름, 마무리 호출 최적화 적용 여부를 나타내는 매개 변수 및 매개 변수 식의 열거 가능한 컬렉션을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, System::String ^ name, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, string name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, string? name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : System.Linq.Expressions.Expression * string * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, name As String, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

name
String

람다의 이름입니다. 디버그 정보를 내보내는 데 사용됩니다.

tailCall
Boolean

만들어진 식을 컴파일할 때 마무리 호출 최적화가 적용될지를 나타내는 Boolean입니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

LambdaExpression 속성이 Lambda이고 NodeTypeBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda(Type, Expression, ParameterExpression[])

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

매개 변수 식의 배열을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[] parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[]? parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, ParamArray parameters As ParameterExpression()) As LambdaExpression

매개 변수

delegateType
Type

람다에 대한 대리자 시그니처를 나타내는 Type입니다.

body
Expression

Expression 속성에 설정할 Body입니다.

parameters
ParameterExpression[]

ParameterExpression 컬렉션을 채우는 데 사용할 Parameters 개체의 배열입니다.

반환

NodeType 속성이 Lambda이고 BodyParameters 속성이 지정된 값으로 설정된 람다 식을 나타내는 개체입니다.

예외

delegateType 또는 bodynull인 경우

또는

parameters에서 하나 이상의 요소가 null입니다.

delegateType이 대리자 형식을 나타내지 않는 경우

또는

body.Type이 나타내는 형식을 delegateType이 나타내는 대리자 형식의 반환 형식에 할당할 수 없는 경우

또는

parameters에 들어 있는 요소 수가 delegateType이 나타내는 대리자 형식의 매개 변수 목록과 다른 경우

또는

parameters에 있는 요소의 Type 속성을 delegateType이 나타내는 대리자 형식의 해당 매개 변수 형식에 할당할 수 없는 경우

설명

이 함수에서 반환되는 개체는 형식 Expression<TDelegate>입니다. 형식은 LambdaExpression 컴파일 시간에 람다 식의 구체적인 형식을 알 수 없으므로 반환된 개체를 나타내는 데 사용됩니다.

가 나타내는 delegateType 대리자 형식의 매개 변수 수는 의 parameters길이와 같아야 합니다.

의 요소는 의 parameters 매개 변수 식과 body같아야 합니다.

Type 결과 개체의 속성은 와 같습니다delegateType. 가 이 nullParametersparameters 결과 개체의 속성이 빈 컬렉션입니다.

적용 대상

Lambda(Type, Expression, Boolean, ParameterExpression[])

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

마무리 호출 최적화 적용 여부를 나타내는 매개 변수 및 매개 변수 식의 배열을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, bool tailCall, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[] parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[]? parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * bool * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, tailCall As Boolean, ParamArray parameters As ParameterExpression()) As LambdaExpression

매개 변수

delegateType
Type

람다에 대한 대리자 시그니처를 나타내는 Type입니다.

body
Expression

Expression 속성에 설정할 Body입니다.

tailCall
Boolean

만들어진 식을 컴파일할 때 마무리 호출 최적화가 적용될지를 나타내는 Boolean입니다.

parameters
ParameterExpression[]

ParameterExpression 컬렉션을 채우는 데 사용할 Parameters 개체가 포함된 배열입니다.

반환

LambdaExpression 속성이 Lambda이고 NodeTypeBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

먼저 식 본문에서 대리자 형식을 생성하고 람다 이름과 매개 변수 식의 열거 가능한 컬렉션을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, System::String ^ name, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, string name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, string? name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : System.Linq.Expressions.Expression * string * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, name As String, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

name
String

람다의 이름입니다. 디버그 정보를 내보내는 데 사용됩니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

LambdaExpression 속성이 Lambda이고 NodeTypeBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda(Expression, Boolean, ParameterExpression[])

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

먼저 식 본문에서 대리자 형식을 생성하고 마무리 호출 최적화 적용 여부를 나타내는 매개 변수와 매개 변수 식의 배열을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, bool tailCall, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[] parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[]? parameters);
static member Lambda : System.Linq.Expressions.Expression * bool * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, tailCall As Boolean, ParamArray parameters As ParameterExpression()) As LambdaExpression

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

tailCall
Boolean

만들어진 식을 컴파일할 때 마무리 호출 최적화가 적용될지를 나타내는 Boolean입니다.

parameters
ParameterExpression[]

ParameterExpression 컬렉션을 채우는 데 사용할 Parameters 개체가 포함된 배열입니다.

반환

LambdaExpression 속성이 Lambda이고 NodeTypeBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

먼저 식 본문에서 대리자 형식을 생성하고 마무리 호출 최적화 적용 여부를 나타내는 매개 변수와 매개 변수 식의 열거 가능한 컬렉션을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : System.Linq.Expressions.Expression * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

tailCall
Boolean

만들어진 식을 컴파일할 때 마무리 호출 최적화가 적용될지를 나타내는 Boolean입니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

LambdaExpression 속성이 Lambda이고 NodeTypeBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

매개 변수식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 LambdaExpression을 만듭니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(Type ^ delegateType, System::Linq::Expressions::Expression ^ body, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (Type delegateType, System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : Type * System.Linq.Expressions.Expression * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (delegateType As Type, body As Expression, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

매개 변수

delegateType
Type

람다에 대한 대리자 시그니처를 나타내는 Type입니다.

body
Expression

Expression 속성에 설정할 Body입니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

NodeType 속성이 Lambda이고 BodyParameters 속성이 지정된 값으로 설정된 람다 식을 나타내는 개체입니다.

예외

delegateType 또는 bodynull인 경우

또는

parameters에서 하나 이상의 요소가 null입니다.

delegateType이 대리자 형식을 나타내지 않는 경우

또는

body.Type이 나타내는 형식을 delegateType이 나타내는 대리자 형식의 반환 형식에 할당할 수 없는 경우

또는

parameters에 들어 있는 요소 수가 delegateType이 나타내는 대리자 형식의 매개 변수 목록과 다른 경우

또는

parameters에 있는 요소의 Type 속성을 delegateType이 나타내는 대리자 형식의 해당 매개 변수 형식에 할당할 수 없는 경우

예제

다음 예제에서는 전달된 인수에 1을 추가하는 람다 식을 나타내는 식을 만드는 방법을 보여 줍니다.

// Add the following directive to your file:
// using System.Linq.Expressions;

// A parameter for the lambda expression.
ParameterExpression paramExpr = Expression.Parameter(typeof(int), "arg");

// This expression represents a lambda expression
// that adds 1 to the parameter value.
LambdaExpression lambdaExpr = Expression.Lambda(
    Expression.Add(
        paramExpr,
        Expression.Constant(1)
    ),
    new List<ParameterExpression>() { paramExpr }
);

// Print out the expression.
Console.WriteLine(lambdaExpr);

// Compile and run the lamda expression.
// The value of the parameter is 1.
Console.WriteLine(lambdaExpr.Compile().DynamicInvoke(1));

// This code example produces the following output:
//
// arg => (arg +1)
// 2
' Add the following directive to your file:
' Imports System.Linq.Expressions  

' A parameter for the lambda expression.
Dim paramExpr As ParameterExpression = Expression.Parameter(GetType(Integer), "arg")

' This expression represents a lambda expression
' that adds 1 to the parameter value.
Dim lambdaExpr As LambdaExpression = Expression.Lambda(
        Expression.Add(
            paramExpr,
            Expression.Constant(1)
        ),
        New List(Of ParameterExpression)() From {paramExpr}
    )

' Print out the expression.
Console.WriteLine(lambdaExpr)

' Compile and run the lamda expression.
' The value of the parameter is 1.
Console.WriteLine(lambdaExpr.Compile().DynamicInvoke(1))

' This code example produces the following output:
'
' arg => (arg +1)
' 2

설명

이 함수에서 반환되는 개체는 형식 Expression<TDelegate>입니다. LambdaExpression 람다 식의 구체적인 형식을 컴파일 시간에 알 수 없으므로 형식은 반환된 개체를 나타내는 데 사용됩니다.

가 나타내는delegateType 대리자 형식의 매개 변수 수는 의 parameters길이와 같아야 합니다.

의 요소는 의 parameters 매개 변수 식과 body같아야 합니다.

결과 개체의 속성은 Type 와 같습니다 delegateType. 가 이 nullParametersparameters 결과 개체의 속성은 빈 컬렉션입니다.

적용 대상

Lambda(Expression, ParameterExpression[])

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

먼저 식 본문에서 대리자 형식을 생성하고 매개 변수 식의 배열을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[] parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[]? parameters);
static member Lambda : System.Linq.Expressions.Expression * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, ParamArray parameters As ParameterExpression()) As LambdaExpression

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

parameters
ParameterExpression[]

ParameterExpression 컬렉션을 채우는 데 사용할 Parameters 개체의 배열입니다.

반환

LambdaExpression 속성이 NodeType이고 LambdaBody 속성이 지정된 값으로 설정된 Parameters입니다.

예외

bodynull입니다.

또는

parameters의 하나 이상의 요소가 null인 경우

parameters에 17개 이상의 요소가 포함된 경우

설명

매개 변수에는 parameters 16개 이상의 요소가 없어야 합니다.

의 요소는 의 parameters 매개 변수 식과 body같아야 합니다.

이 메서드는 제네릭 대리자 중 하나에서 적절한 대리자 형식을 System.Func 생성합니다. 그런 다음, 대리자 형식을 팩터리 메서드 중 Lambda 하나에 전달하여 를 만듭니다 LambdaExpression.

적용 대상

Lambda(Expression, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

먼저 식 본문에서 대리자 형식을 생성하고 매개 변수 식의 열거 가능한 컬렉션을 생성하여 LambdaExpression을 만듭니다. 컴파일 시간에 대리자 형식을 알 수 없을 때 사용할 수 있습니다.

public:
 static System::Linq::Expressions::LambdaExpression ^ Lambda(System::Linq::Expressions::Expression ^ body, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.LambdaExpression Lambda (System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : System.Linq.Expressions.Expression * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.LambdaExpression
Public Shared Function Lambda (body As Expression, parameters As IEnumerable(Of ParameterExpression)) As LambdaExpression

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

LambdaExpression 속성이 Lambda이고 NodeTypeBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

람다 이름과 매개 변수식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, System::String ^ name, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, string name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, string? name, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : System.Linq.Expressions.Expression * string * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, name As String, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)

형식 매개 변수

TDelegate

대리자 형식입니다.

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

name
String

람다의 이름입니다. 디버깅 정보를 생성하는 데 사용됩니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

Expression<TDelegate> 속성이 NodeType이고 LambdaBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

마무리 호출 최적화 적용 여부를 나타내는 매개 변수 및 매개 변수 식의 배열을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, bool tailCall, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[] parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, bool tailCall, params System.Linq.Expressions.ParameterExpression[]? parameters);
static member Lambda : System.Linq.Expressions.Expression * bool * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, tailCall As Boolean, ParamArray parameters As ParameterExpression()) As Expression(Of TDelegate)

형식 매개 변수

TDelegate

대리자 형식입니다.

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

tailCall
Boolean

만들어진 식을 컴파일할 때 마무리 호출 최적화가 적용될지를 나타내는 Boolean입니다.

parameters
ParameterExpression[]

ParameterExpression 컬렉션을 채우는 데 사용할 Parameters 개체가 포함된 배열입니다.

반환

Expression<TDelegate> 속성이 NodeType이고 LambdaBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

람다 이름, 마무리 호출 최적화 적용 여부를 나타내는 매개 변수 및 매개 변수 식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, System::String ^ name, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, string name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, string? name, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : System.Linq.Expressions.Expression * string * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, name As String, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)

형식 매개 변수

TDelegate

대리자 형식입니다.

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

name
String

람다의 이름입니다. 디버깅 정보를 생성하는 데 사용됩니다.

tailCall
Boolean

만들어진 식을 컴파일할 때 마무리 호출 최적화가 적용될지를 나타내는 Boolean입니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

Expression<TDelegate> 속성이 NodeType이고 LambdaBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상

Lambda<TDelegate>(Expression, ParameterExpression[])

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

매개 변수 식의 배열을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, ... cli::array <System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[] parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, params System.Linq.Expressions.ParameterExpression[]? parameters);
static member Lambda : System.Linq.Expressions.Expression * System.Linq.Expressions.ParameterExpression[] -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, ParamArray parameters As ParameterExpression()) As Expression(Of TDelegate)

형식 매개 변수

TDelegate

대리자 형식입니다.

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

parameters
ParameterExpression[]

ParameterExpression 컬렉션을 채우는 데 사용할 Parameters 개체의 배열입니다.

반환

Expression<TDelegate> 속성이 NodeType이고 LambdaBody 속성이 지정된 값으로 설정된 Parameters입니다.

예외

bodynull입니다.

또는

parameters에서 하나 이상의 요소가 null입니다.

TDelegate가 대리자 형식이 아닌 경우

또는

body.Type이 나타내는 형식을 TDelegate의 반환 형식에 할당할 수 없는 경우

또는

parameters에 들어 있는 요소 수가 TDelegate의 매개 변수 목록과 다른 경우

또는

parameters의 해당 매개 변수 형식에서 TDelegate에 있는 요소의 Type 속성을 할당할 수 없는 경우

설명

대리자 형식 TDelegate 의 매개 변수 수는 의 요소 수와 parameters같아야 합니다.

의 요소는 의 parameters 매개 변수 식과body 같아야 합니다.

결과 개체의 속성은 Type 형식 TDelegate을 나타냅니다. 가 이 nullParametersparameters 결과 개체의 속성은 빈 컬렉션입니다.

적용 대상

Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

매개 변수식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : System.Linq.Expressions.Expression * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)

형식 매개 변수

TDelegate

대리자 형식입니다.

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

Expression<TDelegate> 속성이 NodeType이고 LambdaBody 속성이 지정된 값으로 설정된 Parameters입니다.

예외

bodynull입니다.

또는

parameters에서 하나 이상의 요소가 null입니다.

TDelegate가 대리자 형식이 아닌 경우

또는

body.Type이 나타내는 형식을 TDelegate의 반환 형식에 할당할 수 없는 경우

또는

parameters에 들어 있는 요소 수가 TDelegate의 매개 변수 목록과 다른 경우

또는

parameters의 해당 매개 변수 형식에서 TDelegate에 있는 요소의 Type 속성을 할당할 수 없는 경우

설명

대리자 형식 TDelegate 의 매개 변수 수는 의 요소 수와 parameters같아야 합니다.

의 요소는 의 parameters 매개 변수 식과 body같아야 합니다.

결과 개체의 속성은 Type 형식 TDelegate을 나타냅니다. 가 이 nullParametersparameters 결과 개체의 속성은 빈 컬렉션입니다.

적용 대상

Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)

Source:
LambdaExpression.cs
Source:
LambdaExpression.cs
Source:
LambdaExpression.cs

마무리 호출 최적화 적용 여부를 나타내는 매개 변수와 매개 변수 식의 열거 가능한 컬렉션을 사용하여 컴파일 시간에 대리자 형식이 알려지는 Expression<TDelegate>을 만듭니다.

public:
generic <typename TDelegate>
 static System::Linq::Expressions::Expression<TDelegate> ^ Lambda(System::Linq::Expressions::Expression ^ body, bool tailCall, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ParameterExpression ^> ^ parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression> parameters);
public static System.Linq.Expressions.Expression<TDelegate> Lambda<TDelegate> (System.Linq.Expressions.Expression body, bool tailCall, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ParameterExpression>? parameters);
static member Lambda : System.Linq.Expressions.Expression * bool * seq<System.Linq.Expressions.ParameterExpression> -> System.Linq.Expressions.Expression<'Delegate>
Public Shared Function Lambda(Of TDelegate) (body As Expression, tailCall As Boolean, parameters As IEnumerable(Of ParameterExpression)) As Expression(Of TDelegate)

형식 매개 변수

TDelegate

대리자 형식입니다.

매개 변수

body
Expression

Expression 속성에 설정할 Body입니다.

tailCall
Boolean

만들어진 식을 컴파일할 때 마무리 호출 최적화가 적용될지를 나타내는 Boolean입니다.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 ParameterExpression 개체가 포함된 Parameters입니다.

반환

Expression<TDelegate> 속성이 NodeType이고 LambdaBody 속성이 지정된 값으로 설정된 Parameters입니다.

적용 대상