MethodCallExpression Class
Represents a call to either static or an instance method.
Namespace: System.Linq.Expressions
Assembly: System.Core (in System.Core.dll)
The MethodCallExpression type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() ![]() | Arguments | Gets a collection of expressions that represent arguments of the called method. |
![]() ![]() ![]() | CanReduce | Indicates that the node can be reduced to a simpler node. If this returns true, Reduce() can be called to produce the reduced form. (Inherited from Expression.) |
![]() ![]() ![]() | Method | Gets the MethodInfo for the method to be called. |
![]() ![]() ![]() | NodeType | Returns the node type of this Expression. (Overrides Expression.NodeType.) |
![]() ![]() ![]() | Object | Gets the Expression that represents the instance for instance method calls or null for static method calls. |
![]() ![]() ![]() | Type | Gets the static type of the expression that this Expression represents. (Overrides Expression.Type.) |
| Name | Description | |
|---|---|---|
![]() ![]() ![]() | Accept | Dispatches to the specific visit method for this node type. For example, MethodCallExpression calls the VisitMethodCall. (Overrides Expression.Accept(ExpressionVisitor).) |
![]() ![]() ![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() ![]() ![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() ![]() ![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() ![]() ![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() ![]() ![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() ![]() ![]() | Reduce | Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced. (Inherited from Expression.) |
![]() ![]() ![]() | ReduceAndCheck | Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced. (Inherited from Expression.) |
![]() ![]() ![]() | ReduceExtensions | Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type. (Inherited from Expression.) |
![]() ![]() ![]() | ToString | Returns a textual representation of the Expression. (Inherited from Expression.) |
![]() ![]() ![]() | Update | Creates a new expression that is like this one, but using the supplied children. If all of the children are the same, it will return this expression. |
![]() ![]() ![]() | VisitChildren | Reduces the node and then calls the visitor delegate on the reduced expression. The method throws an exception if the node is not reducible. (Inherited from Expression.) |
Use the Call, ArrayIndex, or ArrayIndex factory method to create a MethodCallExpression.
The value of the NodeType property of a MethodCallExpression object is Call.
The following example creates a MethodCallExpression object that represents indexing into a two-dimensional array.
string[,] gradeArray = { {"chemistry", "history", "mathematics"}, {"78", "61", "82"} }; System.Linq.Expressions.Expression arrayExpression = System.Linq.Expressions.Expression.Constant(gradeArray); // Create a MethodCallExpression that represents indexing // into the two-dimensional array 'gradeArray' at (0, 2). // Executing the expression would return "mathematics". System.Linq.Expressions.MethodCallExpression methodCallExpression = System.Linq.Expressions.Expression.ArrayIndex( arrayExpression, System.Linq.Expressions.Expression.Constant(0), System.Linq.Expressions.Expression.Constant(2)); Console.WriteLine(methodCallExpression.ToString()); // This code produces the following output: // // value(System.String[,]).Get(0, 2)
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.




