Expression.Lambda Expression.Lambda Expression.Lambda Expression.Lambda Method

定義

ラムダ式を表す式ツリーを作成します。 Creates an expression tree that represents a lambda expression.

オーバーロード

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type. これは、コンパイル時にデリゲート型が不明な場合に使用できます。 It can be used when the delegate type is not known at compile time.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type. これは、コンパイル時にデリゲート型が不明な場合に使用できます。 It can be used when the delegate type is not known at compile time.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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);
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 Type Type

ラムダのデリゲート シグネチャを表す Type A Type representing the delegate signature for the lambda.

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

name
String String String String

ラムダの名前。 The name for the lambda. デバッグ情報を出力するために使用します。 Used for emitting debug information.

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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);
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 Type Type

ラムダのデリゲート シグネチャを表す Type A Type representing the delegate signature for the lambda.

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

name
String String String String

ラムダの名前。 The name for the lambda. デバッグ情報を出力するために使用します。 Used for emitting debug information.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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 Type Type

ラムダのデリゲート シグネチャを表す Type A Type representing the delegate signature for the lambda.

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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);
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 Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

name
String String String String

ラムダの名前。 The name for the lambda. デバッグ情報を出力するために使用します。 Used for emitting debug information.

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type. これは、コンパイル時にデリゲート型が不明な場合に使用できます。 It can be used when the delegate type is not known at compile time.

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);
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 Type Type

ラムダのデリゲート シグネチャを表す Type A Type that represents a delegate signature for the lambda.

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトの配列。 An array of ParameterExpression objects to use to populate the Parameters collection.

戻り値

NodeType と等しい Lambda プロパティと、指定した値に設定された Body プロパティおよび Parameters プロパティを含むラムダ式を表すオブジェクト。 An object that represents a lambda expression which has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

例外

delegateType または bodynull です。 delegateType or body is null. - または - -or- parameters の 1 つ以上の要素が null です。 One or more elements in parameters are null.

delegateType がデリゲート型を表していません。 delegateType does not represent a delegate type. - または - -or- body.Type は、delegateType によって表されるデリゲート型の戻り値の型に代入できない型を表しています。 body.Type represents a type that is not assignable to the return type of the delegate type represented by delegateType. - または - -or- parameters に、delegateType により表されるデリゲート型のパラメーターのリストと同じ数の要素が格納されていません。 parameters does not contain the same number of elements as the list of parameters for the delegate type represented by delegateType. - または - -or- parameters の要素の Type プロパティは、delegateType によって表されるデリゲート型の対応するパラメーター型から代入できません。 The Type property of an element of parameters is not assignable from the type of the corresponding parameter type of the delegate type represented by delegateType.

注釈

この関数から返されるオブジェクトが型Expression<TDelegate>します。The object that is returned from this function is of type Expression<TDelegate>. LambdaExpressionをラムダ式の具象型がコンパイル時に不明なので、返されたオブジェクトを表す型を使用します。The LambdaExpression type is used to represent the returned object because the concrete type of the lambda expression is not known at compile time.

によって表されるデリゲート型のパラメーターの数delegateTypeの長さでなければなりません。parametersします。The number of parameters for the delegate type represented by delegateType must equal the length of parameters.

要素parametersの参照をパラメーターの式と等しくする必要がありますbodyします。The elements of parameters must be reference equal to the parameter expressions in body.

Type結果として得られるオブジェクトのプロパティは等しくdelegateTypeします。The Type property of the resulting object is equal to delegateType. 場合parametersnullParameters結果として得られるオブジェクトのプロパティが空のコレクション。If parameters is null, the Parameters property of the resulting object is an empty collection.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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);
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 Type Type

ラムダのデリゲート シグネチャを表す Type A Type representing the delegate signature for the lambda.

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトを格納する配列。 An array that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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);
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 Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

name
String String String String

ラムダの名前。 The name for the lambda. デバッグ情報を出力するために使用します。 Used for emitting debug information.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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);
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 Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトを格納する配列。 An array that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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 Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type. これは、コンパイル時にデリゲート型が不明な場合に使用できます。 It can be used when the delegate type is not known at compile time.

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 Type Type

ラムダのデリゲート シグネチャを表す Type A Type that represents a delegate signature for the lambda.

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

NodeType と等しい Lambda プロパティと、指定した値に設定された Body プロパティおよび Parameters プロパティを含むラムダ式を表すオブジェクト。 An object that represents a lambda expression which has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

例外

delegateType または bodynull です。 delegateType or body is null. - または - -or- parameters の 1 つ以上の要素が null です。 One or more elements in parameters are null.

delegateType がデリゲート型を表していません。 delegateType does not represent a delegate type. - または - -or- body.Type は、delegateType によって表されるデリゲート型の戻り値の型に代入できない型を表しています。 body.Type represents a type that is not assignable to the return type of the delegate type represented by delegateType. - または - -or- parameters に、delegateType により表されるデリゲート型のパラメーターのリストと同じ数の要素が格納されていません。 parameters does not contain the same number of elements as the list of parameters for the delegate type represented by delegateType. - または - -or- parameters の要素の Type プロパティは、delegateType によって表されるデリゲート型の対応するパラメーター型から代入できません。 The Type property of an element of parameters is not assignable from the type of the corresponding parameter type of the delegate type represented by delegateType.

次の例では、渡された引数に 1 を加算したラムダ式を表す式を作成する方法を示します。The following example demonstrates how to create an expression that represents a lambda expression that adds 1 to the passed argument.

// 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>します。The object that is returned from this function is of type Expression<TDelegate>. LambdaExpressionをラムダ式の具象型がコンパイル時に不明なので、返されたオブジェクトを表す型を使用します。The LambdaExpression type is used to represent the returned object because the concrete type of the lambda expression is not known at compile time.

によって表されるデリゲート型のパラメーターの数delegateTypeの長さでなければなりません。parametersします。The number of parameters for the delegate type represented bydelegateType must equal the length of parameters.

要素parametersの参照をパラメーターの式と等しくする必要がありますbodyします。The elements of parameters must be reference equal to the parameter expressions in body.

Type結果として得られるオブジェクトのプロパティは等しくdelegateTypeします。The Type property of the resulting object is equal to delegateType. 場合parametersnullParameters結果として得られるオブジェクトのプロパティが空のコレクション。If parameters is null, the Parameters property of the resulting object is an empty collection.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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);
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 Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトの配列。 An array of ParameterExpression objects to use to populate the Parameters collection.

戻り値

LambdaExpression と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

例外

bodynullです。 body is null. - または - -or- parameters の 1 つ以上の要素が null です。 One or more elements of parameters are null.

parameters に、16 個を超える要素が格納されています。 parameters contains more than sixteen elements.

注釈

parametersパラメーターは、16 個を超える要素を持つ必要ありません。The parameters parameter must not have more than sixteen elements.

要素parametersの参照をパラメーターの式と等しくする必要がありますbodyします。The elements of parameters must be reference equal to the parameter expressions in body.

このメソッドのいずれかから、適切なデリゲート型を構築します、System.Func汎用デリゲート。This method constructs an appropriate delegate type from one of the System.Func generic delegates. 次のいずれかにデリゲート型に渡します、Lambda作成するファクトリ メソッドをLambdaExpressionします。It then passes the delegate type to one of the Lambda factory methods to create a LambdaExpression.

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

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 Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters A LambdaExpression that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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);
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

デリゲート型。 The delegate type.

パラメーター
body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

name
String String String String

ラムダの名前。 The name of the lambda. デバッグ情報を生成するために使用します。 Used for generating debugging information.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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);
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

デリゲート型。 The delegate type.

パラメーター
body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトを格納する配列。 An array that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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);
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

デリゲート型。 The delegate type.

パラメーター
body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

name
String String String String

ラムダの名前。 The name of the lambda. デバッグ情報を生成するために使用します。 Used for generating debugging info.

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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);
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

デリゲート型。 A delegate type.

パラメーター
body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトの配列。 An array of ParameterExpression objects to use to populate the Parameters collection.

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

例外

bodynullです。 body is null. - または - -or- parameters の 1 つ以上の要素が null です。 One or more elements in parameters are null.

TDelegate がデリゲート型でありません。 TDelegate is not a delegate type. - または - -or- body.Type は、TDelegate の戻り値の型に代入できない型を表します。 body.Type represents a type that is not assignable to the return type of TDelegate. - または - -or- parameters に、TDelegate のパラメーターのリストと同じ数の要素が格納されていません。 parameters does not contain the same number of elements as the list of parameters for TDelegate. - または - -or- parameters の要素の Type プロパティは、TDelegate の対応するパラメーター型から代入できません。 The Type property of an element of parameters is not assignable from the type of the corresponding parameter type of TDelegate.

注釈

デリゲート型のパラメーターの数TDelegate内の要素の数と同じにする必要がありますparametersします。The number of parameters for the delegate type TDelegate must equal the number of elements in parameters.

要素parametersの参照をパラメーターの式と等しくする必要がありますbodyします。The elements of parameters must be reference equal to the parameter expressions inbody.

Type結果として得られるオブジェクトのプロパティが型を表すTDelegateします。The Type property of the resulting object represents the type TDelegate. 場合parametersnullParameters結果として得られるオブジェクトのプロパティが空のコレクション。If parameters is null, the Parameters property of the resulting object is an empty collection.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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);
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

デリゲート型。 A delegate type.

パラメーター
body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

例外

bodynullです。 body is null. - または - -or- parameters の 1 つ以上の要素が null です。 One or more elements in parameters are null.

TDelegate がデリゲート型でありません。 TDelegate is not a delegate type. - または - -or- body.Type は、TDelegate の戻り値の型に代入できない型を表します。 body.Type represents a type that is not assignable to the return type of TDelegate. - または - -or- parameters に、TDelegate のパラメーターのリストと同じ数の要素が格納されていません。 parameters does not contain the same number of elements as the list of parameters for TDelegate. - または - -or- parameters の要素の Type プロパティは、TDelegate の対応するパラメーター型から代入できません。 The Type property of an element of parameters is not assignable from the type of the corresponding parameter type of TDelegate.

注釈

デリゲート型のパラメーターの数TDelegate内の要素の数と同じにする必要がありますparametersします。The number of parameters for the delegate type TDelegate must equal the number of elements in parameters.

要素parametersの参照をパラメーターの式と等しくする必要がありますbodyします。The elements of parameters must be reference equal to the parameter expressions in body.

Type結果として得られるオブジェクトのプロパティが型を表すTDelegateします。The Type property of the resulting object represents the type TDelegate. 場合parametersnullParameters結果として得られるオブジェクトのプロパティが空のコレクション。If parameters is null, the Parameters property of the resulting object is an empty collection.

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

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);
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

デリゲート型。 The delegate type.

パラメーター
body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body An Expression to set the Body property equal to.

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean A Boolean that indicates if tail call optimization will be applied when compiling the created expression.

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters An IEnumerable<T> that contains ParameterExpression objects to use to populate the Parameters collection.

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters An Expression<TDelegate> that has the NodeType property equal to Lambda and the Body and Parameters properties set to the specified values.

適用対象