Expression.Lambda 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个表示 Lambda 表达式的表达式树。
重载
Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
使用 lambda 的名称、表示是否将应用尾调用优化的参数和一个参数表达式的可枚举集合,创建一个在编译时委托类型已知的 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
参数
- body
- Expression
要将 Expression 属性设置为与其相等的 Body。
- name
- String
lambda 的名称。 用于发出调试信息。
- parameters
- IEnumerable<ParameterExpression>
一个 IEnumerable<T>,包含用来填充 ParameterExpression 集合的 Parameters 对象。
返回
一个 LambdaExpression,其 NodeType 属性等于 Lambda,并且其 Body 和 Parameters 属性均设置为指定的值。
适用于
Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
使用 lambda 的名称和参数表达式的可枚举集合,创建一个在编译时委托类型已知的 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
参数
- body
- Expression
要将 Expression 属性设置为与其相等的 Body。
- name
- String
lambda 的名称。 用于发出调试信息。
- parameters
- IEnumerable<ParameterExpression>
一个 IEnumerable<T>,包含用来填充 ParameterExpression 集合的 Parameters 对象。
返回
一个 LambdaExpression,其 NodeType 属性等于 Lambda,并且其 Body 和 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
参数
- body
- Expression
要将 Expression 属性设置为与其相等的 Body。
- parameters
- IEnumerable<ParameterExpression>
一个 IEnumerable<T>,包含用来填充 ParameterExpression 集合的 Parameters 对象。
返回
一个 LambdaExpression,其 NodeType 属性等于 Lambda,并且其 Body 和 Parameters 属性均设置为指定的值。
适用于
Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
首先从表达式主体构造一个委托类型、lambda 的名称、一个表示是否将应用尾调用优化的参数,以及一个参数表达式的可枚举集合,以便创建 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
lambda 的名称。 用于发出调试信息。
- parameters
- IEnumerable<ParameterExpression>
一个 IEnumerable<T>,包含用来填充 ParameterExpression 集合的 Parameters 对象。
返回
一个 LambdaExpression,其 NodeType 属性等于 Lambda,并且其 Body 和 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
参数
- body
- Expression
要将 Expression 属性设置为与其相等的 Body。
- parameters
- ParameterExpression[]
用于填充 ParameterExpression 集合的 Parameters 对象的数组。
返回
一个表示 lambda 表达式的对象,该表达式的 NodeType 属性等于 Lambda,并且 Body 和 Parameters 属性设置为指定值。
例外
delegateType
不表示委托类型。
- 或 -
body
.Type 表示一个类型,该类型不能赋给 delegateType
所表示的委托类型的返回类型。
- 或 -
parameters
没有包含与 delegateType
所表示的委托类型的参数列表相同数量的元素。
- 或 -
parameters
的元素的 Type 属性不可从 delegateType
所表示的委托类型的相应参数类型的类型赋值。
注解
从此函数返回的对象的类型为 Expression<TDelegate>。 类型 LambdaExpression 用于表示返回的对象,因为 lambda 表达式的具体类型在编译时是未知的。
表示 delegateType
的委托类型的参数数必须等于 的 parameters
长度。
的元素 parameters
必须与 中的 body
参数表达式相等的引用。
Type生成的 对象的 属性等于 delegateType
。 如果 parameters
为 null
,则 Parameters 生成的 对象的 属性为空集合。
适用于
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
参数
- body
- Expression
要将 Expression 属性设置为与其相等的 Body。
- parameters
- ParameterExpression[]
其中包含用于填充 ParameterExpression 集合的 Parameters 对象的数组。
返回
一个 LambdaExpression,其 NodeType 属性等于 Lambda,并且其 Body 和 Parameters 属性均设置为指定的值。
适用于
Lambda(Expression, String, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
首先从表达式主体构造一个委托类型、lambda 的名称和一个参数表达式的可枚举集合,以便创建 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
lambda 的名称。 用于发出调试信息。
- parameters
- IEnumerable<ParameterExpression>
一个 IEnumerable<T>,包含用来填充 ParameterExpression 集合的 Parameters 对象。
返回
一个 LambdaExpression,其 NodeType 属性等于 Lambda,并且其 Body 和 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。
- parameters
- ParameterExpression[]
其中包含用于填充 ParameterExpression 集合的 Parameters 对象的数组。
返回
一个 LambdaExpression,其 NodeType 属性等于 Lambda,并且其 Body 和 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。
- parameters
- IEnumerable<ParameterExpression>
一个 IEnumerable<T>,包含用来填充 ParameterExpression 集合的 Parameters 对象。
返回
一个 LambdaExpression,其 NodeType 属性等于 Lambda,并且其 Body 和 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
参数
- body
- Expression
要将 Expression 属性设置为与其相等的 Body。
- parameters
- IEnumerable<ParameterExpression>
一个 IEnumerable<T>,包含用来填充 ParameterExpression 集合的 Parameters 对象。
返回
一个表示 lambda 表达式的对象,该表达式的 NodeType 属性等于 Lambda,并且 Body 和 Parameters 属性设置为指定值。
例外
delegateType
不表示委托类型。
- 或 -
body
.Type 表示一个类型,该类型不能赋给 delegateType
所表示的委托类型的返回类型。
- 或 -
parameters
没有包含与 delegateType
所表示的委托类型的参数列表相同数量的元素。
- 或 -
parameters
的元素的 Type 属性不可从 delegateType
所表示的委托类型的相应参数类型的类型赋值。
示例
以下示例演示如何创建一个表达式,该表达式表示向传递的参数添加 1 的 lambda 表达式。
// 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 用于表示返回的对象,因为 lambda 表达式的具体类型在编译时是未知的。
表示delegateType
的委托类型的参数数必须等于 的 parameters
长度。
的元素 parameters
必须与 中的 body
参数表达式相等的引用。
Type生成的 对象的 属性等于 delegateType
。 如果 parameters
为 null
,则 Parameters 生成的 对象的 属性为空集合。
适用于
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 属性等于 Lambda,并且其 Body 和 Parameters 属性设置为指定值。
例外
parameters
包含 16 个以上的元素。
注解
参数 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,其 NodeType 属性等于 Lambda,并且其 Body 和 Parameters 属性均设置为指定的值。
适用于
Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
使用 lambda 的名称和一个参数表达式的可枚举集合,创建一个在编译时委托类型已知的 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
lambda 的名称。 用于生成调试信息。
- parameters
- IEnumerable<ParameterExpression>
一个 IEnumerable<T>,包含用来填充 ParameterExpression 集合的 Parameters 对象。
返回
一个 Expression<TDelegate>,其 NodeType 属性等于 Lambda,并且其 Body 和 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。
- parameters
- ParameterExpression[]
其中包含用于填充 ParameterExpression 集合的 Parameters 对象的数组。
返回
一个 Expression<TDelegate>,其 NodeType 属性等于 Lambda,并且其 Body 和 Parameters 属性设置为指定值。
适用于
Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
使用 lambda 的名称、表示是否将应用尾调用优化的参数以及一个参数表达式的可枚举集合,创建一个在编译时委托类型已知的 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
lambda 的名称。 用于生成调试信息。
- parameters
- IEnumerable<ParameterExpression>
一个 IEnumerable<T>,包含用来填充 ParameterExpression 集合的 Parameters 对象。
返回
一个 Expression<TDelegate>,其 NodeType 属性等于 Lambda,并且其 Body 和 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 属性等于 Lambda,并且其 Body 和 Parameters 属性设置为指定值。
例外
TDelegate
不是委托类型。
- 或 -
body
.Type 表示一种不能赋给 TDelegate
的返回类型的类型。
- 或 -
parameters
没有包含与 TDelegate
的参数列表相同数量的元素。
- 或 -
parameters
的元素的 Type 属性不可从 TDelegate
的相应参数类型的类型赋值。
注解
委托类型的 TDelegate
参数数必须等于 中的 parameters
元素数。
的元素 parameters
的引用必须与 中的body
参数表达式相等。
Type生成的 对象的 属性表示类型 TDelegate
。 如果 parameters
为 null
,则 Parameters 生成的 对象的 属性为空集合。
适用于
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 属性等于 Lambda,并且其 Body 和 Parameters 属性设置为指定值。
例外
TDelegate
不是委托类型。
- 或 -
body
.Type 表示一种不能赋给 TDelegate
的返回类型的类型。
- 或 -
parameters
没有包含与 TDelegate
的参数列表相同数量的元素。
- 或 -
parameters
的元素的 Type 属性不可从 TDelegate
的相应参数类型的类型赋值。
注解
委托类型的 TDelegate
参数数必须等于 中的 parameters
元素数。
的元素 parameters
必须与 中的 body
参数表达式相等的引用。
Type生成的 对象的 属性表示类型 TDelegate
。 如果 parameters
为 null
,则 Parameters 生成的 对象的 属性为空集合。
适用于
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。
- parameters
- IEnumerable<ParameterExpression>
一个 IEnumerable<T>,包含用来填充 ParameterExpression 集合的 Parameters 对象。
返回
一个 Expression<TDelegate>,其 NodeType 属性等于 Lambda,并且其 Body 和 Parameters 属性设置为指定值。