Expression.Call Method (MethodInfo, Expression)


Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method that takes one argument.

Namespace:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

Public Shared Function Call (
	method As MethodInfo,
	arg0 As Expression
) As MethodCallExpression


Type: System.Reflection.MethodInfo

A MethodInfo to set the Method property equal to.

Type: System.Linq.Expressions.Expression

The Expression that represents the first argument.

Return Value

Type: System.Linq.Expressions.MethodCallExpression

A MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.

Exception Condition

method is 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:
' Imports System.Linq.Expressions  
Public Class SampleClass
    Shared Function Increment(ByVal arg1 As Integer) As Integer
        Return arg1 + 1
    End Function
End Class
Shared Sub TestCall()
    'This expression represents a call to an instance method with one argument.
    Dim callExpr As Expression = Expression.Call(

    ' Print the expression.

    ' The following statement first creates an expression tree,
    ' then compiles it, and then executes it.
    Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(callExpr).Compile()())
End Sub

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

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Return to top