次の方法で共有


ParameterExpression クラス

定義

名前付きパラメーター式を表します。

public ref class ParameterExpression : System::Linq::Expressions::Expression
public ref class ParameterExpression sealed : System::Linq::Expressions::Expression
public class ParameterExpression : System.Linq.Expressions.Expression
public sealed class ParameterExpression : System.Linq.Expressions.Expression
type ParameterExpression = class
    inherit Expression
Public Class ParameterExpression
Inherits Expression
Public NotInheritable Class ParameterExpression
Inherits Expression
継承
ParameterExpression

次の例では、Parameter メソッドを使用してParameterExpression オブジェクトの値を出力するMethodCallExpression オブジェクトを作成する方法を示します。

// 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

注釈

ParameterExpressionを作成するには、Parameter ファクトリ メソッドを使用します。

ParameterExpression オブジェクトのNodeType プロパティの値がParameter

プロパティ

名前 説明
CanReduce

ノードを単純なノードに縮小できることを示します。 これが true を返す場合は、Reduce() を呼び出して縮小形式を生成できます。

(継承元 Expression)
IsByRef

この ParameterExpressionByRef パラメーターとして扱われることを示します。

Name

パラメーターまたは変数の名前を取得します。

NodeType

この Expressionのノードの種類を返します。

NodeType

この Expressionのノードの種類を取得します。

(継承元 Expression)
Type

この Expression が表す式の静的な型を取得します。

Type

この Expression が表す式の静的な型を取得します。

(継承元 Expression)

メソッド

名前 説明
Accept(ExpressionVisitor)

このノード タイプの特定の visit メソッドにディスパッチします。 たとえば、 MethodCallExpressionVisitMethodCall(MethodCallExpression)を呼び出します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
Reduce()

このノードを単純な式に減らします。 CanReduce が true を返す場合は、有効な式を返す必要があります。 このメソッドは、それ自体を減らす必要がある別のノードを返すことができます。

(継承元 Expression)
ReduceAndCheck()

このノードを単純な式に減らします。 CanReduce が true を返す場合は、有効な式を返す必要があります。 このメソッドは、それ自体を減らす必要がある別のノードを返すことができます。

(継承元 Expression)
ReduceExtensions()

式を既知のノード型 (拡張ノードではない) に減らすか、既に既知の型である場合は式を返します。

(継承元 Expression)
ToString()

Expressionのテキスト表現を返します。

(継承元 Expression)
VisitChildren(ExpressionVisitor)

ノードを減らし、縮小された式でビジター デリゲートを呼び出します。 ノードが縮小できない場合、メソッドは例外をスローします。

(継承元 Expression)

適用対象