This documentation is archived and is not being maintained.

Expression.Call Method (Expression, MethodInfo)

Creates a MethodCallExpression that represents a call to a method that takes no arguments.

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

public static MethodCallExpression Call(
	Expression instance,
	MethodInfo method


Type: System.Linq.Expressions.Expression

An Expression to set the Object property equal to (pass null for a static (Shared in Visual Basic) method).

Type: System.Reflection.MethodInfo

A MethodInfo to set the Method property equal to.

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.


method is null.


instance is null and method represents an instance method.


instance.Type is not assignable to the declaring type of the method represented by method.

To represent a call to a static (Shared in Visual Basic) method, pass in null for instance when you call this method.

If method represents an instance method, the Type property of instance must be assignable to the declaring type of the method represented by method.

The Arguments property of the resulting MethodCallExpression is empty. The Type property is equal to the return type of the method represented by method.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5