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

定義

ラムダ式を表す式ツリーを作成します。

オーバーロード

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 を作成します。

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 を作成します。

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 を作成します。

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 を作成します。

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 これは、コンパイル時にデリゲート型が不明な場合に使用できます。

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。 これは、コンパイル時にデリゲート型が不明な場合に使用できます。

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。

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

最初にデリゲート型を構築することにより LambdaExpression を作成します。

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> を作成します。

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。

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> を作成します。

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。

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

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。

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> を作成します。

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 を作成します。

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

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body

name
String String String String

ラムダの名前。 デバッグ情報を出力するために使用します。

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters

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 を作成します。

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

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body

name
String String String String

ラムダの名前。 デバッグ情報を出力するために使用します。

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters

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 を作成します。

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

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters

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 を作成します。

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

name
String String String String

ラムダの名前。 デバッグ情報を出力するために使用します。

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters

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

最初にデリゲート型を構築することにより 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);
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

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトの配列。

戻り値

NodeType と等しい Lambda プロパティと、指定した値に設定された Body プロパティおよび Parameters プロパティを含むラムダ式を表すオブジェクト。

例外

delegateType または bodynull です。

または parameters の 1 つ以上の要素が null です。

delegateType がデリゲート型を表していません。

または body.Type は、delegateType によって表されるデリゲート型の戻り値の型に代入できない型を表しています。

または parameters に、delegateType により表されるデリゲート型のパラメーターのリストと同じ数の要素が格納されていません。

または parameters の要素の Type プロパティは、delegateType によって表されるデリゲート型の対応するパラメーター型から代入できません。

注釈

この関数から返されるオブジェクトが型Expression<TDelegate>します。 LambdaExpressionをラムダ式の具象型がコンパイル時に不明なので、返されたオブジェクトを表す型を使用します。

によって表されるデリゲート型のパラメーターの数delegateTypeの長さでなければなりません。parametersします。

要素parametersの参照をパラメーターの式と等しくする必要がありますbodyします。

Type結果として得られるオブジェクトのプロパティは等しくdelegateTypeします。 場合parametersnullParameters結果として得られるオブジェクトのプロパティが空のコレクション。

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

最初にデリゲート型を構築することにより 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);
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

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトを格納する配列。

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters

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

最初にデリゲート型を構築することにより 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);
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

name
String String String String

ラムダの名前。 デバッグ情報を出力するために使用します。

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters

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

最初にデリゲート型を構築することにより 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);
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

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトを格納する配列。

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters

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

最初にデリゲート型を構築することにより 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);
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

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters

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

最初にデリゲート型を構築することにより 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);
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

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

NodeType と等しい Lambda プロパティと、指定した値に設定された Body プロパティおよび Parameters プロパティを含むラムダ式を表すオブジェクト。

例外

delegateType または bodynull です。

または parameters の 1 つ以上の要素が 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します。 場合parametersnullParameters結果として得られるオブジェクトのプロパティが空のコレクション。

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

最初にデリゲート型を構築することにより 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);
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

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトの配列。

戻り値

LambdaExpression と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters

例外

bodynullです。

または parameters の 1 つ以上の要素が null です。

parameters に、16 個を超える要素が格納されています。

注釈

parametersパラメーターは、16 個を超える要素を持つ必要ありません。

要素parametersの参照をパラメーターの式と等しくする必要がありますbodyします。

このメソッドのいずれかから、適切なデリゲート型を構築します、System.Func汎用デリゲート。 次のいずれかにデリゲート型に渡します、Lambda作成するファクトリ メソッドをLambdaExpressionします。

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

最初にデリゲート型を構築することにより 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);
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

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Lambda と等しい LambdaExpression プロパティと、指定した値に設定された NodeType プロパティおよび Body プロパティを含む Parameters

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> を作成します。

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

デリゲート型。

パラメーター

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body

name
String String String String

ラムダの名前。 デバッグ情報を生成するために使用します。

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters

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

デリゲート型がコンパイル時に認識されている 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);
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 Expression Expression

Expression プロパティを等しく設定する Body

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトを格納する配列。

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters

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> を作成します。

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

デリゲート型。

パラメーター

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body

name
String String String String

ラムダの名前。 デバッグ情報を生成するために使用します。

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters

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

デリゲート型がコンパイル時に認識されている 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);
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 Expression Expression

Expression プロパティを等しく設定する Body

parameters
ParameterExpression[]

ParameterExpression コレクションへの読み込みに使用する Parameters オブジェクトの配列。

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters

例外

bodynullです。

または parameters の 1 つ以上の要素が null です。

TDelegate がデリゲート型でありません。

または body.Type は、TDelegate の戻り値の型に代入できない型を表します。

または parameters に、TDelegate のパラメーターのリストと同じ数の要素が格納されていません。

または parameters の要素の Type プロパティは、TDelegate の対応するパラメーター型から代入できません。

注釈

デリゲート型のパラメーターの数TDelegate内の要素の数と同じにする必要がありますparametersします。

要素parametersの参照をパラメーターの式と等しくする必要がありますbodyします。

Type結果として得られるオブジェクトのプロパティが型を表すTDelegateします。 場合parametersnullParameters結果として得られるオブジェクトのプロパティが空のコレクション。

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

デリゲート型がコンパイル時に認識されている 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);
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 Expression Expression

Expression プロパティを等しく設定する Body

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters

例外

bodynullです。

または parameters の 1 つ以上の要素が null です。

TDelegate がデリゲート型でありません。

または body.Type は、TDelegate の戻り値の型に代入できない型を表します。

または parameters に、TDelegate のパラメーターのリストと同じ数の要素が格納されていません。

または parameters の要素の Type プロパティは、TDelegate の対応するパラメーター型から代入できません。

注釈

デリゲート型のパラメーターの数TDelegate内の要素の数と同じにする必要がありますparametersします。

要素parametersの参照をパラメーターの式と等しくする必要がありますbodyします。

Type結果として得られるオブジェクトのプロパティが型を表すTDelegateします。 場合parametersnullParameters結果として得られるオブジェクトのプロパティが空のコレクション。

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> を作成します。

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

デリゲート型。

パラメーター

body
Expression Expression Expression Expression

Expression プロパティを等しく設定する Body

tailCall
Boolean Boolean Boolean Boolean

作成された式のコンパイル時に末尾呼び出し最適化が適用されるかどうかを示す Boolean

parameters
IEnumerable<ParameterExpression>

IEnumerable<T> コレクションへの読み込みに使用する ParameterExpression オブジェクトを含む Parameters

戻り値

Expression<TDelegate> と等しい NodeType プロパティと、指定した値に設定された Lambda プロパティおよび Body プロパティを含む Parameters

適用対象