Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Expression.Parameter Method (Type)

Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree.

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

public static ParameterExpression Parameter(
	Type type
)

Parameters

type
Type: System.Type

The type of the parameter or variable.

Return Value

Type: System.Linq.Expressions.ParameterExpression
A ParameterExpression node with the specified name and type.

The following example demonstrates how to create a MethodCallExpression object that prints the value of a ParameterExpression object.

// Add the following directive to the file: 
// using System.Linq.Expressions;   

// Creating a parameter for the expression tree.
ParameterExpression param = Expression.Parameter(typeof(int));

// Creating an expression for the method call and specifying its parameter.
MethodCallExpression methodCall = Expression.Call(
    typeof(Console).GetMethod("WriteLine", new Type[] { typeof(int) }),
    param
);

// The following statement first creates an expression tree, 
// then compiles it, and then runs it.
Expression.Lambda<Action<int>>(
    methodCall,
    new ParameterExpression[] { param }
).Compile()(10);

// This code example produces the following output: 
// 
// 10

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft