Expression.Lambda Metod

Definition

Skapar ett uttrycksträd som representerar ett lambda-uttryck.

Överlagringar

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

Skapar en LambdaExpression där ombudstypen är känd vid kompileringstillfället, med namnet på lambda, en parameter som anger om optimering av tail call kommer att tillämpas och en uppräkningsbar samling parameteruttryck.

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

Skapar en LambdaExpression där delegattypen är känd vid kompileringstillfället, med namnet på lambda och en uppräkningsbar samling parameteruttryck.

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

Skapar en LambdaExpression där ombudstypen är känd vid kompileringstillfället, med en parameter som anger om optimering av tail call kommer att tillämpas och en uppräkningsbar samling parameteruttryck.

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

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten, namnet på lambda, en parameter som anger om optimering av tail-anrop ska tillämpas och en uppräkningsbar samling parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

Lambda(Type, Expression, ParameterExpression[])

Skapar en LambdaExpression där ombudstypen är känd vid kompileringstillfället, med en matris med parameteruttryck.

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

Skapar en LambdaExpression där ombudstypen är känd vid kompileringstillfället, med en parameter som anger om optimering av tail call kommer att tillämpas och en matris med parameteruttryck.

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten, namnet på lambda och en uppräkningsbar samling parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

Lambda(Expression, Boolean, ParameterExpression[])

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten, en parameter som anger om tail call-optimering ska tillämpas och en matris med parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten, en parameter som anger om optimering av tail-anrop ska tillämpas och en uppräkningsbar samling parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Skapar en LambdaExpression där ombudstypen är känd vid kompileringstillfället, med en uppräkningsbar samling parameteruttryck.

Lambda(Expression, ParameterExpression[])

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten och en matris med parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

Lambda(Expression, IEnumerable<ParameterExpression>)

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten och en uppräkningsbar samling parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

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

Skapar en Expression<TDelegate> där delegattypen är känd vid kompileringstid, med namnet på lambda och en uppräkningsbar samling parameteruttryck.

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

Skapar en Expression<TDelegate> där delegattypen är känd vid kompileringstillfället, med en parameter som anger om optimering av tail call kommer att tillämpas och en matris med parameteruttryck.

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

Skapar en Expression<TDelegate> där ombudstypen är känd vid kompileringstillfället, med namnet på lambda, en parameter som anger om optimering av tail-anrop kommer att tillämpas och en uppräkningsbar samling parameteruttryck.

Lambda<TDelegate>(Expression, ParameterExpression[])

Skapar en Expression<TDelegate> där ombudstypen är känd vid kompileringstillfället, med en matris med parameteruttryck.

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

Skapar en Expression<TDelegate> där ombudstypen är känd vid kompileringstillfället, med en uppräkningsbar samling parameteruttryck.

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

Skapar en Expression<TDelegate> där ombudstypen är känd vid kompileringstillfället, med en parameter som anger om optimering av tail call kommer att tillämpas och en uppräkningsbar samling parameteruttryck.

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

Skapar en LambdaExpression där ombudstypen är känd vid kompileringstillfället, med namnet på lambda, en parameter som anger om optimering av tail call kommer att tillämpas och en uppräkningsbar samling parameteruttryck.

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

Parametrar

delegateType
Type

En Type som representerar delegatsignaturen för lambda.

body
Expression

En Expression som egenskapen Body ska vara lika med.

name
String

Namnet på lambda. Används för att generera felsökningsinformation.

tailCall
Boolean

Ett Boolean som anger om optimering av tail call tillämpas när det skapade uttrycket kompileras.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En LambdaExpression som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters som är inställda på de angivna värdena.

Gäller för

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

Skapar en LambdaExpression där delegattypen är känd vid kompileringstillfället, med namnet på lambda och en uppräkningsbar samling parameteruttryck.

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

Parametrar

delegateType
Type

En Type som representerar delegatsignaturen för lambda.

body
Expression

En Expression som egenskapen Body ska vara lika med.

name
String

Namnet på lambda. Används för att generera felsökningsinformation.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En LambdaExpression som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters som är inställda på de angivna värdena.

Gäller för

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

Skapar en LambdaExpression där ombudstypen är känd vid kompileringstillfället, med en parameter som anger om optimering av tail call kommer att tillämpas och en uppräkningsbar samling parameteruttryck.

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

Parametrar

delegateType
Type

En Type som representerar delegatsignaturen för lambda.

body
Expression

En Expression som egenskapen Body ska vara lika med.

tailCall
Boolean

Ett Boolean som anger om optimering av tail call tillämpas när det skapade uttrycket kompileras.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En LambdaExpression som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters som är inställda på de angivna värdena.

Gäller för

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

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten, namnet på lambda, en parameter som anger om optimering av tail-anrop ska tillämpas och en uppräkningsbar samling parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

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

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

name
String

Namnet på lambda. Används för att generera felsökningsinformation.

tailCall
Boolean

Ett Boolean som anger om optimering av tail call tillämpas när det skapade uttrycket kompileras.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En LambdaExpression som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters som är inställda på de angivna värdena.

Gäller för

Lambda(Type, Expression, ParameterExpression[])

Skapar en LambdaExpression där ombudstypen är känd vid kompileringstillfället, med en matris med parameteruttryck.

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

Parametrar

delegateType
Type

En Type som representerar en ombudssignatur för lambda.

body
Expression

En Expression som egenskapen Body ska vara lika med.

parameters
ParameterExpression[]

En matris med ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

Ett objekt som representerar ett lambda-uttryck som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters inställda på de angivna värdena.

Undantag

delegateType eller body är null.

-eller-

Ett eller flera element i parameters är null.

delegateType representerar inte någon ombudstyp.

-eller-

body. Typen representerar en typ som inte kan tilldelas till returtypen för den ombudstyp som representeras av delegateType.

-eller-

parameters innehåller inte samma antal element som listan med parametrar för den ombudstyp som representeras av delegateType.

-eller-

Egenskapen Type för ett element i parameters kan inte tilldelas från typen av motsvarande parametertyp för den ombudstyp som representeras av delegateType.

Kommentarer

Objektet som returneras från den här funktionen är av typen Expression<TDelegate>. Typen LambdaExpression används för att representera det returnerade objektet eftersom den konkreta typen av lambda-uttrycket inte är känd vid kompileringstillfället.

Antalet parametrar för den ombudstyp som representeras av delegateType måste vara lika med längden på parameters.

Elementen parameters i måste vara lika med parameteruttrycken i body.

Egenskapen Type för det resulterande objektet är lika med delegateType. Om parameters är nullär egenskapen för Parameters det resulterande objektet en tom samling.

Gäller för

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

Skapar en LambdaExpression där ombudstypen är känd vid kompileringstillfället, med en parameter som anger om optimering av tail call kommer att tillämpas och en matris med parameteruttryck.

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

Parametrar

delegateType
Type

En Type som representerar delegatsignaturen för lambda.

body
Expression

En Expression som egenskapen Body ska vara lika med.

tailCall
Boolean

Ett Boolean som anger om optimering av tail call tillämpas när det skapade uttrycket kompileras.

parameters
ParameterExpression[]

En matris som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En LambdaExpression som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters som är inställda på de angivna värdena.

Gäller för

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten, namnet på lambda och en uppräkningsbar samling parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

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

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

name
String

Namnet på lambda. Används för att generera felsökningsinformation.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En LambdaExpression som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters som är inställda på de angivna värdena.

Gäller för

Lambda(Expression, Boolean, ParameterExpression[])

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten, en parameter som anger om tail call-optimering ska tillämpas och en matris med parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

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

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

tailCall
Boolean

Ett Boolean som anger om optimering av tail call tillämpas när det skapade uttrycket kompileras.

parameters
ParameterExpression[]

En matris som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En LambdaExpression som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters som är inställda på de angivna värdena.

Gäller för

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten, en parameter som anger om optimering av tail-anrop ska tillämpas och en uppräkningsbar samling parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

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

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

tailCall
Boolean

Ett Boolean som anger om optimering av tail call tillämpas när det skapade uttrycket kompileras.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En LambdaExpression som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters som är inställda på de angivna värdena.

Gäller för

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Skapar en LambdaExpression där ombudstypen är känd vid kompileringstillfället, med en uppräkningsbar samling parameteruttryck.

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

Parametrar

delegateType
Type

En Type som representerar en ombudssignatur för lambda.

body
Expression

En Expression som egenskapen Body ska vara lika med.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

Ett objekt som representerar ett lambda-uttryck som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters inställda på de angivna värdena.

Undantag

delegateType eller body är null.

-eller-

Ett eller flera element i parameters är null.

delegateType representerar inte någon ombudstyp.

-eller-

body. Typen representerar en typ som inte kan tilldelas till returtypen för den ombudstyp som representeras av delegateType.

-eller-

parameters innehåller inte samma antal element som listan med parametrar för den ombudstyp som representeras av delegateType.

-eller-

Egenskapen Type för ett element i parameters kan inte tilldelas från typen av motsvarande parametertyp för den ombudstyp som representeras av delegateType.

Exempel

I följande exempel visas hur du skapar ett uttryck som representerar ett lambda-uttryck som lägger till 1 i det skickade argumentet.

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

Kommentarer

Objektet som returneras från den här funktionen är av typen Expression<TDelegate>. Typen LambdaExpression används för att representera det returnerade objektet eftersom den konkreta typen av lambda-uttrycket inte är känd vid kompileringstillfället.

Antalet parametrar för den ombudstyp som representeras avdelegateType måste vara lika med längden på parameters.

Elementen parameters i måste vara lika med parameteruttrycken i body.

Egenskapen Type för det resulterande objektet är lika med delegateType. Om parameters är nullär egenskapen för Parameters det resulterande objektet en tom samling.

Gäller för

Lambda(Expression, ParameterExpression[])

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten och en matris med parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

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

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

parameters
ParameterExpression[]

En matris med ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En LambdaExpression som har egenskapen NodeType lika med Lambda och Body egenskaperna och Parameters inställda på de angivna värdena.

Undantag

body är null.

-eller-

Ett eller flera element i parameters är null.

parameters innehåller mer än sexton element.

Kommentarer

Parametern parameters får inte ha fler än sexton element.

Elementen parameters i måste vara lika med parameteruttrycken i body.

Den här metoden konstruerar en lämplig delegattyp från en av de allmänna ombuden System.Func . Den skickar sedan ombudstypen till någon av fabriksmetoderna Lambda för att skapa en LambdaExpression.

Gäller för

Lambda(Expression, IEnumerable<ParameterExpression>)

Skapar en LambdaExpression genom att först konstruera en ombudstyp från uttryckstexten och en uppräkningsbar samling parameteruttryck. Den kan användas när ombudstypen inte är känd vid kompileringstillfället.

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

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En LambdaExpression som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters som är inställda på de angivna värdena.

Gäller för

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

Skapar en Expression<TDelegate> där delegattypen är känd vid kompileringstid, med namnet på lambda och en uppräkningsbar samling parameteruttryck.

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)

Typparametrar

TDelegate

Ombudstypen.

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

name
String

Namnet på lambda. Används för att generera felsökningsinformation.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En Expression<TDelegate> som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters inställda på de angivna värdena.

Gäller för

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

Skapar en Expression<TDelegate> där delegattypen är känd vid kompileringstillfället, med en parameter som anger om optimering av tail call kommer att tillämpas och en matris med parameteruttryck.

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)

Typparametrar

TDelegate

Ombudstypen.

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

tailCall
Boolean

Ett Boolean som anger om optimering av tail call tillämpas när det skapade uttrycket kompileras.

parameters
ParameterExpression[]

En matris som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En Expression<TDelegate> som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters inställda på de angivna värdena.

Gäller för

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

Skapar en Expression<TDelegate> där ombudstypen är känd vid kompileringstillfället, med namnet på lambda, en parameter som anger om optimering av tail-anrop kommer att tillämpas och en uppräkningsbar samling parameteruttryck.

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)

Typparametrar

TDelegate

Ombudstypen.

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

name
String

Namnet på lambda. Används för att generera felsökningsinformation.

tailCall
Boolean

Ett Boolean som anger om optimering av tail call tillämpas när det skapade uttrycket kompileras.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En Expression<TDelegate> som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters inställda på de angivna värdena.

Gäller för

Lambda<TDelegate>(Expression, ParameterExpression[])

Skapar en Expression<TDelegate> där ombudstypen är känd vid kompileringstillfället, med en matris med parameteruttryck.

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)

Typparametrar

TDelegate

En ombudstyp.

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

parameters
ParameterExpression[]

En matris med ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En Expression<TDelegate> som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters inställda på de angivna värdena.

Undantag

body är null.

-eller-

Ett eller flera element i parameters är null.

TDelegate är inte en ombudstyp.

-eller-

body. Typ representerar en typ som inte kan tilldelas till returtypen TDelegate.

-eller-

parameters innehåller inte samma antal element som listan med parametrar för TDelegate.

-eller-

Egenskapen Type för ett element i parameters kan inte tilldelas från typen av motsvarande parametertyp .TDelegate

Kommentarer

Antalet parametrar för ombudstypen TDelegate måste vara lika med antalet element i parameters.

Elementen parameters i måste vara lika med parameteruttrycken ibody.

Egenskapen Type för det resulterande objektet representerar typen TDelegate. Om parameters är nullär egenskapen för Parameters det resulterande objektet en tom samling.

Gäller för

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

Skapar en Expression<TDelegate> där ombudstypen är känd vid kompileringstillfället, med en uppräkningsbar samling parameteruttryck.

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)

Typparametrar

TDelegate

En ombudstyp.

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En Expression<TDelegate> som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters inställda på de angivna värdena.

Undantag

body är null.

-eller-

Ett eller flera element i parameters är null.

TDelegate är inte en ombudstyp.

-eller-

body. Typ representerar en typ som inte kan tilldelas till returtypen TDelegate.

-eller-

parameters innehåller inte samma antal element som listan med parametrar för TDelegate.

-eller-

Egenskapen Type för ett element i parameters kan inte tilldelas från typen av motsvarande parametertyp .TDelegate

Kommentarer

Antalet parametrar för ombudstypen TDelegate måste vara lika med antalet element i parameters.

Elementen parameters i måste vara lika med parameteruttrycken i body.

Egenskapen Type för det resulterande objektet representerar typen TDelegate. Om parameters är nullär egenskapen för Parameters det resulterande objektet en tom samling.

Gäller för

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

Skapar en Expression<TDelegate> där ombudstypen är känd vid kompileringstillfället, med en parameter som anger om optimering av tail call kommer att tillämpas och en uppräkningsbar samling parameteruttryck.

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)

Typparametrar

TDelegate

Ombudstypen.

Parametrar

body
Expression

En Expression som egenskapen Body ska vara lika med.

tailCall
Boolean

Ett Boolean som anger om optimering av tail call tillämpas när det skapade uttrycket kompileras.

parameters
IEnumerable<ParameterExpression>

En IEnumerable<T> som innehåller ParameterExpression objekt som ska användas för att fylla samlingen Parameters .

Returer

En Expression<TDelegate> som har NodeType egenskapen lika med Lambda och Body egenskaperna och Parameters inställda på de angivna värdena.

Gäller för