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
Assembly:  System.Core (in System.Core.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

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
Return to top
Show: