Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Expression.Call (MethodInfo, Expression)

 

Publicado: octubre de 2016

Crea un objeto MethodCallExpression que representa una llamada a un método static (Shared en Visual Basic) que toma un argumento.

Espacio de nombres:   System.Linq.Expressions
Ensamblado:  System.Core (en System.Core.dll)

public static MethodCallExpression Call(
	MethodInfo method,
	Expression arg0
)

Parámetros

method
Type: System.Reflection.MethodInfo

MethodInfo en el que se va a establecer la propiedad Method.

arg0
Type: System.Linq.Expressions.Expression

Expression que representa el primer argumento.

Valor devuelto

Type: System.Linq.Expressions.MethodCallExpression

MethodCallExpression cuya propiedad NodeType es Call y cuyas propiedades Object y Method se establecen en los valores especificados.

Exception Condition
ArgumentNullException

method es null.

The following example demonstrates how to create an expression that calls a static (Shared in Visual Basic) method that takes one argument.

// Add the following directive to your file:
// using System.Linq.Expressions;  

public class SampleClass
{
    public static int Increment(int arg1)
    {
        return arg1 + 1;
    }
}

static public void TestCall()
{

    //This expression represents a call to an instance method with one argument.
    Expression callExpr = Expression.Call(
                            typeof(SampleClass).GetMethod("Increment"),
                            Expression.Constant(2)
                        );

    // Print out the expression.
    Console.WriteLine(callExpr.ToString());

    // The following statement first creates an expression tree,
    // then compiles it, and then executes it.
    Console.WriteLine(Expression.Lambda<Func<int>>(callExpr).Compile()());

    // This code example produces the following output:
    //
    // Increment(2)
    // 3
}

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 4.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 4.0
Windows Phone Silverlight
Disponible desde 8.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: