Expression.Call Method (MethodInfo, Expression)
.NET Framework (current version)
Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method that takes one argument.
Assembly: System.Core (in System.Core.dll)
Public Shared Function Call ( method As MethodInfo, arg0 As Expression ) As MethodCallExpression
Parameters
- method
-
Type:
System.Reflection.MethodInfo
A MethodInfo to set the Method property equal to.
- arg0
-
Type:
System.Linq.Expressions.Expression
The Expression that represents the first argument.
Return Value
Type: System.Linq.Expressions.MethodCallExpressionA MethodCallExpression that has the NodeType property equal to Call and the Object and Method properties set to the specified values.
| Exception | Condition |
|---|---|
| ArgumentNullException | 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( GetType(SampleClass).GetMethod("Increment"), Expression.Constant(2)) ' Print 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(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
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Show: