¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Expression.Call (Método) (MethodInfo, Expression)

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
Tipo: System.Reflection.MethodInfo
Objeto MethodInfo en el que se va a establecer la propiedad Method.
arg0
Tipo: System.Linq.Expressions.Expression
Objeto Expression que representa el primer argumento.

Valor devuelto

Tipo: System.Linq.Expressions.MethodCallExpression
Objeto MethodCallExpression cuya propiedad NodeType es Call y cuyas propiedades Object y Method están establecidas en los valores especificados.

ExcepciónCondición
ArgumentNullException

method es null.

En el siguiente ejemplo se muestra cómo crear una expresión que llama a un método static (Shared en Visual Basic) que toma un argumento.


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


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Compatible con: 4

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft