ParameterExpression クラス

定義

名前付きパラメーター式を表します。Represents a named parameter expression.

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

次の例は、 MethodCallExpression メソッドを使用してオブジェクトの値を出力するオブジェクトを作成する方法を示して ParameterExpression Parameter います。The following example demonstrates how to create a MethodCallExpression object that prints the value of a ParameterExpression object by using the Parameter method.

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

注釈

ファクトリメソッドを使用して Parameter 、を作成 ParameterExpression します。Use the Parameter factory method to create a ParameterExpression.

NodeTypeオブジェクトのプロパティの値 ParameterExpressionParameter です。The value of the NodeType property of a ParameterExpression object is Parameter.

プロパティ

CanReduce

ノードをより単純なノードに変形できることを示します。Indicates that the node can be reduced to a simpler node. これが true を返す場合、Reduce() を呼び出して単純化された形式を生成できます。If this returns true, Reduce() can be called to produce the reduced form.

(継承元 Expression)
IsByRef

この ParameterExpressionByRef パラメーターとして扱われることを示します。Indicates that this ParameterExpression is to be treated as a ByRef parameter.

Name

パラメーターまたは変数の名前を取得します。Gets the name of the parameter or variable.

NodeType

この Expression のノード型を返します。Returns the node type of this Expression.

NodeType

この Expression のノード型を取得します。Gets the node type of this Expression.

(継承元 Expression)
Type

この Expression が表す式の静的な型を取得します。Gets the static type of the expression that this Expression represents.

Type

この Expression が表す式の静的な型を取得します。Gets the static type of the expression that this Expression represents.

(継承元 Expression)

メソッド

Accept(ExpressionVisitor)

このノード型の特定の Visit メソッドにデスパッチします。Dispatches to the specific visit method for this node type. たとえば、MethodCallExpressionVisitMethodCall(MethodCallExpression) を呼び出します。For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

Accept(ExpressionVisitor)

このノード型の特定の Visit メソッドにデスパッチします。Dispatches to the specific visit method for this node type. たとえば、MethodCallExpressionVisitMethodCall(MethodCallExpression) を呼び出します。For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

(継承元 Expression)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
Reduce()

このノードをより単純な式に変形します。Reduces this node to a simpler expression. CanReduce が true を返す場合、これは有効な式を返します。If CanReduce returns true, this should return a valid expression. このメソッドは、それ自体も単純化する必要がある別のノードを返す場合があります。This method can return another node which itself must be reduced.

(継承元 Expression)
ReduceAndCheck()

このノードをより単純な式に変形します。Reduces this node to a simpler expression. CanReduce が true を返す場合、これは有効な式を返します。If CanReduce returns true, this should return a valid expression. このメソッドは、それ自体も単純化する必要がある別のノードを返す場合があります。This method can return another node which itself must be reduced.

(継承元 Expression)
ReduceExtensions()

式を既知のノード型 (拡張ノードではない型) に単純化し、それが既に既知の型である場合は単に式を返します。Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type.

(継承元 Expression)
ToString()

Expression のテキスト表現を返します。Returns a textual representation of the Expression.

(継承元 Expression)
VisitChildren(ExpressionVisitor)

ノードを単純化し、単純化された式の visitor デリゲートを呼び出します。Reduces the node and then calls the visitor delegate on the reduced expression. ノードを単純化できない場合、このメソッドは例外をスローします。The method throws an exception if the node is not reducible.

(継承元 Expression)

適用対象