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

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft