Compartir a través de


InvocationExpression Clase

Definición

Representa una expresión que aplica un delegado o una expresión lambda a una lista de expresiones de argumento.

public ref class InvocationExpression sealed : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public ref class InvocationExpression sealed : System::Linq::Expressions::Expression
public sealed class InvocationExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
public sealed class InvocationExpression : System.Linq.Expressions.Expression
type InvocationExpression = class
    inherit Expression
    interface IArgumentProvider
type InvocationExpression = class
    inherit Expression
Public NotInheritable Class InvocationExpression
Inherits Expression
Implements IArgumentProvider
Public NotInheritable Class InvocationExpression
Inherits Expression
Herencia
InvocationExpression
Implementaciones

Ejemplos

En el ejemplo siguiente se crea un objeto InvocationExpression que representa la invocación de una expresión lambda con argumentos especificados.

System.Linq.Expressions.Expression<Func<int, int, bool>> largeSumTest =
    (num1, num2) => (num1 + num2) > 1000;

// Create an InvocationExpression that represents applying
// the arguments '539' and '281' to the lambda expression 'largeSumTest'.
System.Linq.Expressions.InvocationExpression invocationExpression =
    System.Linq.Expressions.Expression.Invoke(
        largeSumTest,
        System.Linq.Expressions.Expression.Constant(539),
        System.Linq.Expressions.Expression.Constant(281));

Console.WriteLine(invocationExpression.ToString());

// This code produces the following output:
//
// Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)
Dim largeSumTest As System.Linq.Expressions.Expression(Of System.Func(Of Integer, Integer, Boolean)) = _
    Function(num1, num2) (num1 + num2) > 1000

' Create an InvocationExpression that represents applying
' the arguments '539' and '281' to the lambda expression 'largeSumTest'.
Dim invocationExpression As System.Linq.Expressions.InvocationExpression = _
    System.Linq.Expressions.Expression.Invoke( _
        largeSumTest, _
        System.Linq.Expressions.Expression.Constant(539), _
        System.Linq.Expressions.Expression.Constant(281))

Console.WriteLine(invocationExpression.ToString())

' This code produces the following output:
'
' Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)

Comentarios

Use los Invoke métodos de fábrica para crear un InvocationExpression.

el NodeType de es InvocationExpressionInvoke.

Propiedades

Arguments

Obtiene los argumentos a los que se aplican el delegado o expresión lambda.

CanReduce

Indica que el nodo se puede reducir a uno más simple. Si devuelve true, se puede llamar a Reduce() para generar el formulario reducido.

(Heredado de Expression)
Expression

Obtiene el delegado o expresión lambda que se aplicará.

NodeType

Devuelve el tipo de nodo de esta expresión. Los nodos de extensión deben devolver Extension al reemplazar este método.

NodeType

Obtiene el tipo de nodo de Expression.

(Heredado de Expression)
Type

Obtiene el tipo estático de la expresión que Expression representa.

Type

Obtiene el tipo estático de la expresión que Expression representa.

(Heredado de Expression)

Métodos

Accept(ExpressionVisitor)

Envía la expresión al método de visita específico de este tipo de nodo. Por ejemplo, MethodCallExpression llama a VisitMethodCall(MethodCallExpression).

(Heredado de Expression)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Reduce()

Reduce este nodo a una expresión más simple. Si CanReduce devuelve true, debería devolver una expresión válida. Este método puede devolver otro nodo que se debe reducir a su vez.

(Heredado de Expression)
ReduceAndCheck()

Reduce este nodo a una expresión más simple. Si CanReduce devuelve true, debería devolver una expresión válida. Este método puede devolver otro nodo que se debe reducir a su vez.

(Heredado de Expression)
ReduceExtensions()

Reduce la expresión a un tipo de nodo conocido (no es un nodo de extensión) o, si ya es un tipo conocido, solo devuelve la expresión.

(Heredado de Expression)
ToString()

Devuelve una representación textual de Expression.

(Heredado de Expression)
Update(Expression, IEnumerable<Expression>)

Crea una nueva expresión que es como esta, pero usa el elemento secundario proporcionado. Si todos los elementos secundarios son iguales, devolverá esta expresión.

VisitChildren(ExpressionVisitor)

Reduce el nodo y, a continuación, llama al delegado del visitante en la expresión reducida. El método inicia una excepción si el nodo no es reducible.

(Heredado de Expression)

Implementaciones de interfaz explícitas

IArgumentProvider.ArgumentCount

Devuelve el número de argumentos al nodo de árbol de expresión. No debe usar este miembro. Solo es público debido a la refactorización del ensamblado y se usa internamente para optimizaciones de rendimiento.

IArgumentProvider.GetArgument(Int32)

Devuelve el argumento en el índice, indicando si el índice está fuera de los límites. No debe usar este miembro. Solo es público debido a la refactorización del ensamblado y se usa internamente para optimizaciones de rendimiento.

Se aplica a