Expression.Parameter 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。
重载
Parameter(Type, String) |
创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。 |
Parameter(Type) |
创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。 |
Parameter(Type, String)
- Source:
- ParameterExpression.cs
- Source:
- ParameterExpression.cs
- Source:
- ParameterExpression.cs
创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。
public:
static System::Linq::Expressions::ParameterExpression ^ Parameter(Type ^ type, System::String ^ name);
public static System.Linq.Expressions.ParameterExpression Parameter (Type type, string name);
public static System.Linq.Expressions.ParameterExpression Parameter (Type type, string? name);
static member Parameter : Type * string -> System.Linq.Expressions.ParameterExpression
Public Shared Function Parameter (type As Type, name As String) As ParameterExpression
参数
- type
- Type
参数或变量的类型。
- name
- String
仅用于调试或打印目的的参数或变量的名称。
返回
一个 ParameterExpression,其 NodeType 属性等于 Parameter,并且其 Type 和 Name 属性设置为指定值。
例外
type
为 null
。
适用于
Parameter(Type)
- Source:
- ParameterExpression.cs
- Source:
- ParameterExpression.cs
- Source:
- ParameterExpression.cs
创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。
public:
static System::Linq::Expressions::ParameterExpression ^ Parameter(Type ^ type);
public static System.Linq.Expressions.ParameterExpression Parameter (Type type);
static member Parameter : Type -> System.Linq.Expressions.ParameterExpression
Public Shared Function Parameter (type As Type) As ParameterExpression
参数
- type
- Type
参数或变量的类型。
返回
具有指定的名称和类型的 ParameterExpression 节点。
示例
以下示例演示如何创建打印 MethodCallExpression 对象值的 ParameterExpression 对象。
// 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
' 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