Поделиться через


Expression.Parameter Method (Type)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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)

Syntax

'Declaration
Public Shared Function Parameter ( _
    type As Type _
) As ParameterExpression
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.

Examples

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:
' Imports System.Linq.Expressions 

' Creating a parameter for the expression tree.
Dim param As ParameterExpression = Expression.Parameter(GetType(Integer))

' Creating an expression for the method call and specifying its parameter.
Dim methodCall As MethodCallExpression = Expression.Call(
        GetType(Console).GetMethod("WriteLine", New Type() {GetType(Integer)}),
        param
    )

' Compiling and invoking the methodCall expression.
Expression.Lambda(Of Action(Of Integer))(
    methodCall,
    New ParameterExpression() {param}
).Compile()(10)
' This code example produces the following output:
'
' 10
// 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

Version Information

Silverlight

Supported in: 5, 4

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.