Expression Class

定義

式ツリー ノードを表すクラスの派生元の基底クラスを提供します。 Provides the base class from which the classes that represent expression tree nodes are derived. さまざまなノード型を作成する static (Visual Basic では Shared) ファクトリ メソッドも含まれています。 It also contains static (Shared in Visual Basic) factory methods to create the various node types. これは abstract クラスです。 This is an abstract class.

public abstract class Expression
継承
Expression
派生

次のコード例では、ブロック式を作成する方法を示します。The following code example shows how to create a block expression. ブロック式から成る 2 つMethodCallExpressionオブジェクトと 1 つConstantExpressionオブジェクト。The block expression consists of two MethodCallExpression objects and one ConstantExpression object.

// Add the following directive to your file:
// using System.Linq.Expressions;  

// The block expression allows for executing several expressions sequentually.
// When the block expression is executed,
// it returns the value of the last expression in the sequence.
BlockExpression blockExpr = Expression.Block(
    Expression.Call(
        null,
        typeof(Console).GetMethod("Write", new Type[] { typeof(String) }),
        Expression.Constant("Hello ")
       ),
    Expression.Call(
        null,
        typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }),
        Expression.Constant("World!")
        ),
    Expression.Constant(42)
);

Console.WriteLine("The result of executing the expression tree:");
// The following statement first creates an expression tree,
// then compiles it, and then executes it.           
var result = Expression.Lambda<Func<int>>(blockExpr).Compile()();

// Print out the expressions from the block expression.
Console.WriteLine("The expressions from the block expression:");
foreach (var expr in blockExpr.Expressions)
    Console.WriteLine(expr.ToString());

// Print out the result of the tree execution.
Console.WriteLine("The return value of the block expression:");
Console.WriteLine(result);

// This code example produces the following output:
//
// The result of executing the expression tree:
// Hello World!

// The expressions from the block expression:
// Write("Hello ")
// WriteLine("World!")
// 42

// The return value of the block expression:
// 42
' Add the following directive to your file:
' Imports System.Linq.Expressions

' The block expression enables you to execute several expressions sequentually.
' When the block expression is executed,
' it returns the value of the last expression in the sequence.
Dim blockExpr As BlockExpression = Expression.Block(
    Expression.Call(
        Nothing,
        GetType(Console).GetMethod("Write", New Type() {GetType(String)}),
        Expression.Constant("Hello ")
       ),
    Expression.Call(
        Nothing,
        GetType(Console).GetMethod("WriteLine", New Type() {GetType(String)}),
        Expression.Constant("World!")
        ),
    Expression.Constant(42)
)

Console.WriteLine("The result of executing the expression tree:")
' The following statement first creates an expression tree,
' then compiles it, and then executes it.           
Dim result = Expression.Lambda(Of Func(Of Integer))(blockExpr).Compile()()

' Print the expressions from the block expression.
Console.WriteLine("The expressions from the block expression:")
For Each expr In blockExpr.Expressions
    Console.WriteLine(expr.ToString())
Next

' Print the result of the tree execution.
Console.WriteLine("The return value of the block expression:")
Console.WriteLine(result)

' This code example produces the following output:
'
' The result of executing the expression tree:
' Hello World!

' The expressions from the block expression:
' Write("Hello ")
' WriteLine("World!")
' 42

' The return value of the block expression:
' 42

コンストラクター

Expression()

Expression の新しいインスタンスを作成します。 Constructs a new instance of Expression.

Expression(ExpressionType, Type)

Expression クラスの新しいインスタンスを初期化します。 Initializes a new instance of the Expression class.

プロパティ

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.

NodeType

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

Type

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

方法

Accept(ExpressionVisitor)

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

Add(Expression, Expression)

オーバーフロー チェックを行わない算術加算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic addition operation that does not have overflow checking.

Add(Expression, Expression, MethodInfo)

オーバーフロー チェックを行わない算術加算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic addition operation that does not have overflow checking. 実装メソッドを指定できます。 The implementing method can be specified.

AddAssign(Expression, Expression)

オーバーフロー チェックを行わない加算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an addition assignment operation that does not have overflow checking.

AddAssign(Expression, Expression, MethodInfo)

オーバーフロー チェックを行わない加算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an addition assignment operation that does not have overflow checking.

AddAssign(Expression, Expression, MethodInfo, LambdaExpression)

オーバーフロー チェックを行わない加算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an addition assignment operation that does not have overflow checking.

AddAssignChecked(Expression, Expression)

オーバーフロー チェックを行う加算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an addition assignment operation that has overflow checking.

AddAssignChecked(Expression, Expression, MethodInfo)

オーバーフロー チェックを行う加算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an addition assignment operation that has overflow checking.

AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

オーバーフロー チェックを行う加算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an addition assignment operation that has overflow checking.

AddChecked(Expression, Expression)

オーバーフロー チェックを行う算術加算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic addition operation that has overflow checking.

AddChecked(Expression, Expression, MethodInfo)

オーバーフロー チェックを行う算術加算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic addition operation that has overflow checking. 実装メソッドを指定できます。 The implementing method can be specified.

And(Expression, Expression)

ビットごとの BinaryExpression 演算を表す AND を作成します。 Creates a BinaryExpression that represents a bitwise AND operation.

And(Expression, Expression, MethodInfo)

ビットごとの BinaryExpression 演算を表す AND を作成します。 Creates a BinaryExpression that represents a bitwise AND operation. 実装メソッドを指定できます。 The implementing method can be specified.

AndAlso(Expression, Expression)

1 番目のオペランドが BinaryExpression に評価された場合にのみ 2 番目のオペランドを評価する条件付き AND 演算を表す true を作成します。 Creates a BinaryExpression that represents a conditional AND operation that evaluates the second operand only if the first operand evaluates to true.

AndAlso(Expression, Expression, MethodInfo)

1 番目のオペランドが true に解決された場合にのみ 2 番目のオペランドを評価する条件付き BinaryExpression 演算を表す AND を作成します。 Creates a BinaryExpression that represents a conditional AND operation that evaluates the second operand only if the first operand is resolved to true. 実装メソッドを指定できます。 The implementing method can be specified.

AndAssign(Expression, Expression)

ビットごとの AND 代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise AND assignment operation.

AndAssign(Expression, Expression, MethodInfo)

ビットごとの AND 代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise AND assignment operation.

AndAssign(Expression, Expression, MethodInfo, LambdaExpression)

ビットごとの AND 代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise AND assignment operation.

ArrayAccess(Expression, Expression[])

配列にアクセスするための IndexExpression を作成します。 Creates an IndexExpression to access an array.

ArrayAccess(Expression, IEnumerable<Expression>)

多次元配列にアクセスするための IndexExpression を作成します。 Creates an IndexExpression to access a multidimensional array.

ArrayIndex(Expression, Expression)

ランク 1 の配列への配列の添字演算子の適用を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents applying an array index operator to an array of rank one.

ArrayIndex(Expression, Expression[])

多次元配列への配列の添字演算子の適用を表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents applying an array index operator to a multidimensional array.

ArrayIndex(Expression, IEnumerable<Expression>)

ランクが 1 より大きい配列への配列の添字演算子の適用を表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents applying an array index operator to an array of rank more than one.

ArrayLength(Expression)

1 次元配列の長さを取得する式を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents an expression for obtaining the length of a one-dimensional array.

Assign(Expression, Expression)

代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an assignment operation.

Bind(MemberInfo, Expression)

フィールドまたはプロパティの初期化を表す MemberAssignment を作成します。 Creates a MemberAssignment that represents the initialization of a field or property.

Bind(MethodInfo, Expression)

プロパティ アクセサー メソッドを使用したメンバーの初期化を表す MemberAssignment を作成します。 Creates a MemberAssignment that represents the initialization of a member by using a property accessor method.

Block(Expression, Expression)

2 つの式を含み、変数を含まない BlockExpression を作成します。 Creates a BlockExpression that contains two expressions and has no variables.

Block(Expression, Expression, Expression)

3 つの式を含み、変数を含まない BlockExpression を作成します。 Creates a BlockExpression that contains three expressions and has no variables.

Block(Expression, Expression, Expression, Expression)

4 つの式を含み、変数を含まない BlockExpression を作成します。 Creates a BlockExpression that contains four expressions and has no variables.

Block(Expression, Expression, Expression, Expression, Expression)

5 つの式を含み、変数を含まない BlockExpression を作成します。 Creates a BlockExpression that contains five expressions and has no variables.

Block(Expression[])

指定された式を含み、変数を含まない BlockExpression を作成します。 Creates a BlockExpression that contains the given expressions and has no variables.

Block(IEnumerable<Expression>)

指定された式を含み、変数を含まない BlockExpression を作成します。 Creates a BlockExpression that contains the given expressions and has no variables.

Block(IEnumerable<ParameterExpression>, Expression[])

指定された変数および式を含む BlockExpression を作成します。 Creates a BlockExpression that contains the given variables and expressions.

Block(IEnumerable<ParameterExpression>, IEnumerable<Expression>)

指定された変数および式を含む BlockExpression を作成します。 Creates a BlockExpression that contains the given variables and expressions.

Block(Type, Expression[])

指定された式を含み、変数を含まず、特定の結果の型を持つ BlockExpression を作成します。 Creates a BlockExpression that contains the given expressions, has no variables and has specific result type.

Block(Type, IEnumerable<Expression>)

指定された式を含み、変数を含まず、特定の結果の型を持つ BlockExpression を作成します。 Creates a BlockExpression that contains the given expressions, has no variables and has specific result type.

Block(Type, IEnumerable<ParameterExpression>, Expression[])

指定された変数および式を含む BlockExpression を作成します。 Creates a BlockExpression that contains the given variables and expressions.

Block(Type, IEnumerable<ParameterExpression>, IEnumerable<Expression>)

指定された変数および式を含む BlockExpression を作成します。 Creates a BlockExpression that contains the given variables and expressions.

Break(LabelTarget)

break ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a break statement.

Break(LabelTarget, Expression)

break ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a break statement. ジャンプ時にラベルに渡す値を指定できます。 The value passed to the label upon jumping can be specified.

Break(LabelTarget, Expression, Type)

型を指定して、break ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a break statement with the specified type. ジャンプ時にラベルに渡す値を指定できます。 The value passed to the label upon jumping can be specified.

Break(LabelTarget, Type)

型を指定して、break ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a break statement with the specified type.

Call(Expression, MethodInfo)

引数を受け取らないメソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a method that takes no arguments.

Call(Expression, MethodInfo, Expression, Expression)

2 つの引数を受け取るメソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a method that takes two arguments.

Call(Expression, MethodInfo, Expression, Expression, Expression)

3 つの引数を受け取るメソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a method that takes three arguments.

Call(Expression, MethodInfo, Expression[])

引数を受け取るメソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a method that takes arguments.

Call(Expression, MethodInfo, IEnumerable<Expression>)

引数を受け取るメソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a method that takes arguments.

Call(Expression, String, Type[], Expression[])

適切なファクトリ メソッドを呼び出すことにより、インスタンス メソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a method by calling the appropriate factory method.

Call(MethodInfo, Expression)

1 つの引数を受け取る MethodCallExpression (Visual Basic では static) メソッドへの呼び出しを表す Shared を作成します。 Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method that takes one argument.

Call(MethodInfo, Expression, Expression)

2 つの引数を受け取る静的メソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a static method that takes two arguments.

Call(MethodInfo, Expression, Expression, Expression)

3 つの引数を受け取る静的メソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a static method that takes three arguments.

Call(MethodInfo, Expression, Expression, Expression, Expression)

4 つの引数を受け取る静的メソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a static method that takes four arguments.

Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)

5 つの引数を受け取る静的メソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a static method that takes five arguments.

Call(MethodInfo, Expression[])

引数を持つ MethodCallExpression (Visual Basic では static) メソッドへの呼び出しを表す Shared を作成します。 Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method that has arguments.

Call(MethodInfo, IEnumerable<Expression>)

static (Visual Basic では Shared) メソッドへの呼び出しを表す MethodCallExpression を作成します。 Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method.

Call(Type, String, Type[], Expression[])

適切なファクトリ メソッドを呼び出すことにより、MethodCallExpression (Visual Basic では static) メソッドへの呼び出しを表す Shared を作成します。 Creates a MethodCallExpression that represents a call to a static (Shared in Visual Basic) method by calling the appropriate factory method.

Catch(ParameterExpression, Expression)

ハンドラー本体で使用する、キャッチされた CatchBlock オブジェクトへの参照を指定して、catch ステートメントを表す Exception を作成します。 Creates a CatchBlock representing a catch statement with a reference to the caught Exception object for use in the handler body.

Catch(ParameterExpression, Expression, Expression)

CatchBlock フィルターおよびキャッチされた Exception オブジェクトへの参照を指定して、catch ステートメントを表す Exception を作成します。 Creates a CatchBlock representing a catch statement with an Exception filter and a reference to the caught Exception object.

Catch(Type, Expression)

catch ステートメントを表す CatchBlock を作成します。 Creates a CatchBlock representing a catch statement.

Catch(Type, Expression, Expression)

キャッチされた CatchBlock オブジェクトへの参照は指定せずに、Exception フィルターを指定して、catch ステートメントを表す Exception を作成します。 Creates a CatchBlock representing a catch statement with an Exception filter but no reference to the caught Exception object.

ClearDebugInfo(SymbolDocumentInfo)

シーケンス ポイントをクリアするための DebugInfoExpression を作成します。 Creates a DebugInfoExpression for clearing a sequence point.

Coalesce(Expression, Expression)

合体演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a coalescing operation.

Coalesce(Expression, Expression, LambdaExpression)

変換関数を指定して合体演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a coalescing operation, given a conversion function.

Condition(Expression, Expression, Expression)

条件付きステートメントを表す ConditionalExpression を作成します。 Creates a ConditionalExpression that represents a conditional statement.

Condition(Expression, Expression, Expression, Type)

条件付きステートメントを表す ConditionalExpression を作成します。 Creates a ConditionalExpression that represents a conditional statement.

Constant(Object)

指定した値に設定された ConstantExpression プロパティを含む Value を作成します。 Creates a ConstantExpression that has the Value property set to the specified value.

Constant(Object, Type)

指定した値に設定された ConstantExpression プロパティおよび Value プロパティを含む Type を作成します。 Creates a ConstantExpression that has the Value and Type properties set to the specified values.

Continue(LabelTarget)

continue ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a continue statement.

Continue(LabelTarget, Type)

型を指定して、continue ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a continue statement with the specified type.

Convert(Expression, Type)

型変換操作を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a type conversion operation.

Convert(Expression, Type, MethodInfo)

実装メソッドが指定される変換演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a conversion operation for which the implementing method is specified.

ConvertChecked(Expression, Type)

変換後の型がオーバーフローした場合に例外をスローする変換演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed.

ConvertChecked(Expression, Type, MethodInfo)

変換後の型がオーバーフローした場合に例外をスローし、実装メソッドが指定される変換演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a conversion operation that throws an exception if the target type is overflowed and for which the implementing method is specified.

DebugInfo(SymbolDocumentInfo, Int32, Int32, Int32, Int32)

指定したスパンを使用して、DebugInfoExpression を作成します。 Creates a DebugInfoExpression with the specified span.

Decrement(Expression)

式の値を 1 つ減らすデクリメントを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents the decrementing of the expression by 1.

Decrement(Expression, MethodInfo)

式の値を 1 つ減らすデクリメントを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents the decrementing of the expression by 1.

Default(Type)

指定した型に設定された DefaultExpression プロパティを含む Type を作成します。 Creates a DefaultExpression that has the Type property set to the specified type.

Divide(Expression, Expression)

算術除算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic division operation.

Divide(Expression, Expression, MethodInfo)

算術除算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic division operation. 実装メソッドを指定できます。 The implementing method can be specified.

DivideAssign(Expression, Expression)

オーバーフロー チェックを行わない除算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a division assignment operation that does not have overflow checking.

DivideAssign(Expression, Expression, MethodInfo)

オーバーフロー チェックを行わない除算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a division assignment operation that does not have overflow checking.

DivideAssign(Expression, Expression, MethodInfo, LambdaExpression)

オーバーフロー チェックを行わない除算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a division assignment operation that does not have overflow checking.

Dynamic(CallSiteBinder, Type, Expression)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression[])

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

ElementInit(MethodInfo, Expression[])

2 番目の引数として値の配列を指定して、ElementInit を作成します。 Creates an ElementInit, given an array of values as the second argument.

ElementInit(MethodInfo, IEnumerable<Expression>)

2 番目の引数として ElementInit を指定して、IEnumerable<T> を作成します。 Creates an ElementInit, given an IEnumerable<T> as the second argument.

Empty()

Void 型の空の式を作成します。 Creates an empty expression that has Void type.

Equal(Expression, Expression)

等価比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an equality comparison.

Equal(Expression, Expression, Boolean, MethodInfo)

等価比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an equality comparison. 実装メソッドを指定できます。 The implementing method can be specified.

Equals(Object)

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

(Inherited from Object)
ExclusiveOr(Expression, Expression)

ユーザー定義型の op_ExclusiveOr を使用して、ビットごとの XOR 演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise XOR operation, using op_ExclusiveOr for user-defined types.

ExclusiveOr(Expression, Expression, MethodInfo)

ユーザー定義型の op_ExclusiveOr を使用して、ビットごとの XOR 演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise XOR operation, using op_ExclusiveOr for user-defined types. 実装メソッドを指定できます。 The implementing method can be specified.

ExclusiveOrAssign(Expression, Expression)

ユーザー定義型の op_ExclusiveOr を使用して、ビットごとの XOR 代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types.

ExclusiveOrAssign(Expression, Expression, MethodInfo)

ユーザー定義型の op_ExclusiveOr を使用して、ビットごとの XOR 代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types.

ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression)

ユーザー定義型の op_ExclusiveOr を使用して、ビットごとの XOR 代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise XOR assignment operation, using op_ExclusiveOr for user-defined types.

Field(Expression, FieldInfo)

フィールドへのアクセスを表す MemberExpression を作成します。 Creates a MemberExpression that represents accessing a field.

Field(Expression, String)

フィールドの名前を指定してフィールドへのアクセスを表す MemberExpression を作成します。 Creates a MemberExpression that represents accessing a field given the name of the field.

Field(Expression, Type, String)

フィールドへのアクセスを表す MemberExpression を作成します。 Creates a MemberExpression that represents accessing a field.

GetActionType(Type[])

特定の型引数を持つ汎用 System.Action デリゲート型を表す Type オブジェクトを作成します。 Creates a Type object that represents a generic System.Action delegate type that has specific type arguments.

GetDelegateType(Type[])

特定の型引数を持つ汎用 System.Func または System.Action デリゲート型を表す Type オブジェクトを取得します。 Gets a Type object that represents a generic System.Func or System.Action delegate type that has specific type arguments.

GetFuncType(Type[])

特定の型引数を持つ汎用 System.Func デリゲート型を表す Type オブジェクトを作成します。 Creates a Type object that represents a generic System.Func delegate type that has specific type arguments. 最後の型引数で、作成するデリゲートの戻り値の型を指定します。 The last type argument specifies the return type of the created delegate.

GetHashCode()

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

(Inherited from Object)
GetType()

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

(Inherited from Object)
Goto(LabelTarget)

go to ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a "go to" statement.

Goto(LabelTarget, Expression)

go to ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a "go to" statement. ジャンプ時にラベルに渡す値を指定できます。 The value passed to the label upon jumping can be specified.

Goto(LabelTarget, Expression, Type)

型を指定して、go to ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a "go to" statement with the specified type. ジャンプ時にラベルに渡す値を指定できます。 The value passed to the label upon jumping can be specified.

Goto(LabelTarget, Type)

型を指定して、go to ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a "go to" statement with the specified type.

GreaterThan(Expression, Expression)

"大なり" 数値比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a "greater than" numeric comparison.

GreaterThan(Expression, Expression, Boolean, MethodInfo)

"大なり" 数値比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a "greater than" numeric comparison. 実装メソッドを指定できます。 The implementing method can be specified.

GreaterThanOrEqual(Expression, Expression)

"以上" 数値比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a "greater than or equal" numeric comparison.

GreaterThanOrEqual(Expression, Expression, Boolean, MethodInfo)

"以上" 数値比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a "greater than or equal" numeric comparison.

IfThen(Expression, Expression)

ConditionalExpression ステートメントを指定して、条件付きブロックを表す if を作成します。 Creates a ConditionalExpression that represents a conditional block with an if statement.

IfThenElse(Expression, Expression, Expression)

ConditionalExpression ステートメントと if ステートメントを指定して、条件付きブロックを表す else を作成します。 Creates a ConditionalExpression that represents a conditional block with if and else statements.

Increment(Expression)

式の値を 1 つ増やすインクリメントを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents the incrementing of the expression value by 1.

Increment(Expression, MethodInfo)

式の値を 1 つ増やすインクリメントを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents the incrementing of the expression by 1.

Invoke(Expression, Expression[])

引数式のリストにデリゲートまたはラムダ式を適用する InvocationExpression を作成します。 Creates an InvocationExpression that applies a delegate or lambda expression to a list of argument expressions.

Invoke(Expression, IEnumerable<Expression>)

引数式のリストにデリゲートまたはラムダ式を適用する InvocationExpression を作成します。 Creates an InvocationExpression that applies a delegate or lambda expression to a list of argument expressions.

IsFalse(Expression)

式が false に評価されるかどうかを返します。 Returns whether the expression evaluates to false.

IsFalse(Expression, MethodInfo)

式が false に評価されるかどうかを返します。 Returns whether the expression evaluates to false.

IsTrue(Expression)

式が true に評価されるかどうかを返します。 Returns whether the expression evaluates to true.

IsTrue(Expression, MethodInfo)

式が true に評価されるかどうかを返します。 Returns whether the expression evaluates to true.

Label()

void 型で名前なしのラベルを表す LabelTarget を作成します。 Creates a LabelTarget representing a label with void type and no name.

Label(LabelTarget)

既定値のないラベルを表す LabelExpression を作成します。 Creates a LabelExpression representing a label without a default value.

Label(LabelTarget, Expression)

指定された既定値を持つラベルを表す LabelExpression を作成します。 Creates a LabelExpression representing a label with the given default value.

Label(String)

指定された名前を持つ void 型のラベルを表す LabelTarget を作成します。 Creates a LabelTarget representing a label with void type and the given name.

Label(Type)

型を指定して、ラベルを表す LabelTarget を作成します。 Creates a LabelTarget representing a label with the given type.

Label(Type, String)

指定した型および名前を使用して、ラベルを表す LabelTarget を作成します。 Creates a LabelTarget representing a label with the given type and name.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

Lambda(Expression, Boolean, ParameterExpression[])

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

Lambda(Expression, IEnumerable<ParameterExpression>)

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

Lambda(Expression, ParameterExpression[])

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

Lambda(Expression, String, IEnumerable<ParameterExpression>)

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

Lambda(Type, Expression, Boolean, ParameterExpression[])

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type. これは、コンパイル時にデリゲート型が不明な場合に使用できます。 It can be used when the delegate type is not known at compile time.

Lambda(Type, Expression, ParameterExpression[])

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type. これは、コンパイル時にデリゲート型が不明な場合に使用できます。 It can be used when the delegate type is not known at compile time.

Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)

最初にデリゲート型を構築することにより LambdaExpression を作成します。 Creates a LambdaExpression by first constructing a delegate type.

Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

Lambda<TDelegate>(Expression, ParameterExpression[])

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)

デリゲート型がコンパイル時に認識されている Expression<TDelegate> を作成します。 Creates an Expression<TDelegate> where the delegate type is known at compile time.

LeftShift(Expression, Expression)

ビットごとの左シフト演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise left-shift operation.

LeftShift(Expression, Expression, MethodInfo)

ビットごとの左シフト演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise left-shift operation.

LeftShiftAssign(Expression, Expression)

ビットごとの左シフト代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise left-shift assignment operation.

LeftShiftAssign(Expression, Expression, MethodInfo)

ビットごとの左シフト代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise left-shift assignment operation.

LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

ビットごとの左シフト代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise left-shift assignment operation.

LessThan(Expression, Expression)

"小なり" 数値比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a "less than" numeric comparison.

LessThan(Expression, Expression, Boolean, MethodInfo)

"小なり" 数値比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a "less than" numeric comparison.

LessThanOrEqual(Expression, Expression)

"以下" 数値比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a " less than or equal" numeric comparison.

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

"以下" 数値比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a "less than or equal" numeric comparison.

ListBind(MemberInfo, ElementInit[])

メンバーがフィールドまたはプロパティである MemberListBinding を作成します。 Creates a MemberListBinding where the member is a field or property.

ListBind(MemberInfo, IEnumerable<ElementInit>)

メンバーがフィールドまたはプロパティである MemberListBinding を作成します。 Creates a MemberListBinding where the member is a field or property.

ListBind(MethodInfo, ElementInit[])

指定したプロパティ アクセサー メソッドに基づいて MemberListBinding オブジェクトを作成します。 Creates a MemberListBinding object based on a specified property accessor method.

ListBind(MethodInfo, IEnumerable<ElementInit>)

指定したプロパティ アクセサー メソッドに基づいて MemberListBinding を作成します。 Creates a MemberListBinding based on a specified property accessor method.

ListInit(NewExpression, ElementInit[])

指定した ListInitExpression オブジェクトを使用してコレクションを初期化する ElementInit を作成します。 Creates a ListInitExpression that uses specified ElementInit objects to initialize a collection.

ListInit(NewExpression, Expression[])

"Add" という名前のメソッドを使用してコレクションに要素を追加する ListInitExpression を作成します。 Creates a ListInitExpression that uses a method named "Add" to add elements to a collection.

ListInit(NewExpression, IEnumerable<ElementInit>)

指定した ListInitExpression オブジェクトを使用してコレクションを初期化する ElementInit を作成します。 Creates a ListInitExpression that uses specified ElementInit objects to initialize a collection.

ListInit(NewExpression, IEnumerable<Expression>)

"Add" という名前のメソッドを使用してコレクションに要素を追加する ListInitExpression を作成します。 Creates a ListInitExpression that uses a method named "Add" to add elements to a collection.

ListInit(NewExpression, MethodInfo, Expression[])

指定したメソッドを使用してコレクションに要素を追加する ListInitExpression を作成します。 Creates a ListInitExpression that uses a specified method to add elements to a collection.

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

指定したメソッドを使用してコレクションに要素を追加する ListInitExpression を作成します。 Creates a ListInitExpression that uses a specified method to add elements to a collection.

Loop(Expression)

指定した本体を使用して、LoopExpression を作成します。 Creates a LoopExpression with the given body.

Loop(Expression, LabelTarget)

指定した本体および break の移動先を使用して、LoopExpression を作成します。 Creates a LoopExpression with the given body and break target.

Loop(Expression, LabelTarget, LabelTarget)

指定した本体を使用して、LoopExpression を作成します。 Creates a LoopExpression with the given body.

MakeBinary(ExpressionType, Expression, Expression)

適切なファクトリ メソッドを呼び出すことにより、左オペランドと右オペランドを指定して、BinaryExpression を作成します。 Creates a BinaryExpression, given the left and right operands, by calling an appropriate factory method.

MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo)

適切なファクトリ メソッドを呼び出すことにより、左オペランド、右オペランド、および実装メソッドを指定して、BinaryExpression を作成します。 Creates a BinaryExpression, given the left operand, right operand and implementing method, by calling the appropriate factory method.

MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo, LambdaExpression)

適切なファクトリ メソッドを呼び出すことにより、左オペランド、右オペランド、実装メソッド、および型変換関数を指定して、BinaryExpression を作成します。 Creates a BinaryExpression, given the left operand, right operand, implementing method and type conversion function, by calling the appropriate factory method.

MakeCatchBlock(Type, ParameterExpression, Expression, Expression)

指定された要素を使用して、catch ステートメントを表す CatchBlock を作成します。 Creates a CatchBlock representing a catch statement with the specified elements.

MakeDynamic(Type, CallSiteBinder, Expression)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and one argument.

MakeDynamic(Type, CallSiteBinder, Expression, Expression)

指定された DynamicExpression および 2 つの引数によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and two arguments.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)

指定された DynamicExpression および 3 つの引数によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and three arguments.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)

指定された DynamicExpression および 4 つの引数によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and four arguments.

MakeDynamic(Type, CallSiteBinder, Expression[])

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。 Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

MakeGoto(GotoExpressionKind, LabelTarget, Expression, Type)

指定した GotoExpression のジャンプを表す GotoExpressionKind を作成します。 Creates a GotoExpression representing a jump of the specified GotoExpressionKind. ジャンプ時にラベルに渡す値も指定できます。 The value passed to the label upon jumping can also be specified.

MakeIndex(Expression, PropertyInfo, IEnumerable<Expression>)

オブジェクトのインデックス付きプロパティへのアクセスを表す IndexExpression を作成します。 Creates an IndexExpression that represents accessing an indexed property in an object.

MakeMemberAccess(Expression, MemberInfo)

フィールドまたはプロパティのいずれかへのアクセスを表す MemberExpression を作成します。 Creates a MemberExpression that represents accessing either a field or a property.

MakeTry(Type, Expression, Expression, Expression, IEnumerable<CatchBlock>)

指定された要素を使用して、try ブロックを表す TryExpression を作成します。 Creates a TryExpression representing a try block with the specified elements.

MakeUnary(ExpressionType, Expression, Type)

適切なファクトリ メソッドを呼び出すことにより、オペランドを指定して、UnaryExpression を作成します。 Creates a UnaryExpression, given an operand, by calling the appropriate factory method.

MakeUnary(ExpressionType, Expression, Type, MethodInfo)

適切なファクトリ メソッドを呼び出すことにより、オペランドおよび実装メソッドを指定して、UnaryExpression を作成します。 Creates a UnaryExpression, given an operand and implementing method, by calling the appropriate factory method.

MemberBind(MemberInfo, IEnumerable<MemberBinding>)

フィールドまたはプロパティのメンバーの再帰的な初期化を表す MemberMemberBinding を作成します。 Creates a MemberMemberBinding that represents the recursive initialization of members of a field or property.

MemberBind(MemberInfo, MemberBinding[])

フィールドまたはプロパティのメンバーの再帰的な初期化を表す MemberMemberBinding を作成します。 Creates a MemberMemberBinding that represents the recursive initialization of members of a field or property.

MemberBind(MethodInfo, IEnumerable<MemberBinding>)

プロパティ アクセサー メソッドを使用してアクセスされるメンバーのメンバーの再帰的な初期化を表す MemberMemberBinding を作成します。 Creates a MemberMemberBinding that represents the recursive initialization of members of a member that is accessed by using a property accessor method.

MemberBind(MethodInfo, MemberBinding[])

プロパティ アクセサー メソッドを使用してアクセスされるメンバーのメンバーの再帰的な初期化を表す MemberMemberBinding を作成します。 Creates a MemberMemberBinding that represents the recursive initialization of members of a member that is accessed by using a property accessor method.

MemberInit(NewExpression, IEnumerable<MemberBinding>)

新しいオブジェクトを作成し、そのオブジェクトのプロパティを初期化する式を表します。 Represents an expression that creates a new object and initializes a property of the object.

MemberInit(NewExpression, MemberBinding[])

MemberInitExpression を作成します。 Creates a MemberInitExpression.

MemberwiseClone()

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

(Inherited from Object)
Modulo(Expression, Expression)

算術剰余演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic remainder operation.

Modulo(Expression, Expression, MethodInfo)

算術剰余演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic remainder operation.

ModuloAssign(Expression, Expression)

剰余代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a remainder assignment operation.

ModuloAssign(Expression, Expression, MethodInfo)

剰余代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a remainder assignment operation.

ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression)

剰余代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a remainder assignment operation.

Multiply(Expression, Expression)

オーバーフロー チェックを行わない算術乗算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic multiplication operation that does not have overflow checking.

Multiply(Expression, Expression, MethodInfo)

オーバーフロー チェックを行わない算術乗算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic multiplication operation that does not have overflow checking.

MultiplyAssign(Expression, Expression)

オーバーフロー チェックを行わない乗算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a multiplication assignment operation that does not have overflow checking.

MultiplyAssign(Expression, Expression, MethodInfo)

オーバーフロー チェックを行わない乗算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a multiplication assignment operation that does not have overflow checking.

MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)

オーバーフロー チェックを行わない乗算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a multiplication assignment operation that does not have overflow checking.

MultiplyAssignChecked(Expression, Expression)

オーバーフロー チェックを行う乗算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a multiplication assignment operation that has overflow checking.

MultiplyAssignChecked(Expression, Expression, MethodInfo)

オーバーフロー チェックを行う乗算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a multiplication assignment operation that has overflow checking.

MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

オーバーフロー チェックを行う乗算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a multiplication assignment operation that has overflow checking.

MultiplyChecked(Expression, Expression)

オーバーフロー チェックを行う算術乗算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic multiplication operation that has overflow checking.

MultiplyChecked(Expression, Expression, MethodInfo)

オーバーフロー チェックを行う算術乗算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic multiplication operation that has overflow checking.

Negate(Expression)

算術否定演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents an arithmetic negation operation.

Negate(Expression, MethodInfo)

算術否定演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents an arithmetic negation operation.

NegateChecked(Expression)

オーバーフロー チェックを行う算術否定演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents an arithmetic negation operation that has overflow checking.

NegateChecked(Expression, MethodInfo)

オーバーフロー チェックを行う算術否定演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents an arithmetic negation operation that has overflow checking. 実装メソッドを指定できます。 The implementing method can be specified.

New(ConstructorInfo)

引数を受け取らない指定したコンストラクターの呼び出しを表す NewExpression を作成します。 Creates a NewExpression that represents calling the specified constructor that takes no arguments.

New(ConstructorInfo, Expression[])

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。 Creates a NewExpression that represents calling the specified constructor with the specified arguments.

New(ConstructorInfo, IEnumerable<Expression>)

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。 Creates a NewExpression that represents calling the specified constructor with the specified arguments.

New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。 Creates a NewExpression that represents calling the specified constructor with the specified arguments. コンストラクターが初期化したフィールドにアクセスするメンバーが指定されます。 The members that access the constructor initialized fields are specified.

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。 Creates a NewExpression that represents calling the specified constructor with the specified arguments. コンストラクターが初期化したフィールドにアクセスするメンバーが配列として指定されます。 The members that access the constructor initialized fields are specified as an array.

New(Type)

指定した型のパラメーターなしのコンストラクターの呼び出しを表す NewExpression を作成します。 Creates a NewExpression that represents calling the parameterless constructor of the specified type.

NewArrayBounds(Type, Expression[])

指定したランクを持つ配列の作成を表す NewArrayExpression を作成します。 Creates a NewArrayExpression that represents creating an array that has a specified rank.

NewArrayBounds(Type, IEnumerable<Expression>)

指定したランクを持つ配列の作成を表す NewArrayExpression を作成します。 Creates a NewArrayExpression that represents creating an array that has a specified rank.

NewArrayInit(Type, Expression[])

1 次元配列の作成と、要素のリストからの初期化を表す NewArrayExpression を作成します。 Creates a NewArrayExpression that represents creating a one-dimensional array and initializing it from a list of elements.

NewArrayInit(Type, IEnumerable<Expression>)

1 次元配列の作成と、要素のリストからの初期化を表す NewArrayExpression を作成します。 Creates a NewArrayExpression that represents creating a one-dimensional array and initializing it from a list of elements.

Not(Expression)

ビットごとの補数演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a bitwise complement operation.

Not(Expression, MethodInfo)

ビットごとの補数演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a bitwise complement operation. 実装メソッドを指定できます。 The implementing method can be specified.

NotEqual(Expression, Expression)

非等価比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an inequality comparison.

NotEqual(Expression, Expression, Boolean, MethodInfo)

非等価比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an inequality comparison.

OnesComplement(Expression)

1 の補数を表す式を返します。 Returns the expression representing the ones complement.

OnesComplement(Expression, MethodInfo)

1 の補数を表す式を返します。 Returns the expression representing the ones complement.

Or(Expression, Expression)

ビットごとの BinaryExpression 演算を表す OR を作成します。 Creates a BinaryExpression that represents a bitwise OR operation.

Or(Expression, Expression, MethodInfo)

ビットごとの BinaryExpression 演算を表す OR を作成します。 Creates a BinaryExpression that represents a bitwise OR operation.

OrAssign(Expression, Expression)

ビットごとの OR 代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise OR assignment operation.

OrAssign(Expression, Expression, MethodInfo)

ビットごとの OR 代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise OR assignment operation.

OrAssign(Expression, Expression, MethodInfo, LambdaExpression)

ビットごとの OR 代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise OR assignment operation.

OrElse(Expression, Expression)

1 番目のオペランドが BinaryExpression に評価された場合にのみ 2 番目のオペランドを評価する条件付き OR 演算を表す false を作成します。 Creates a BinaryExpression that represents a conditional OR operation that evaluates the second operand only if the first operand evaluates to false.

OrElse(Expression, Expression, MethodInfo)

1 番目のオペランドが BinaryExpression に評価された場合にのみ 2 番目のオペランドを評価する条件付き OR 演算を表す false を作成します。 Creates a BinaryExpression that represents a conditional OR operation that evaluates the second operand only if the first operand evaluates to false.

Parameter(Type)

式ツリーでパラメーターまたは変数を識別するために使用できる ParameterExpression ノードを作成します。 Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree.

Parameter(Type, String)

式ツリーでパラメーターまたは変数を識別するために使用できる ParameterExpression ノードを作成します。 Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree.

PostDecrementAssign(Expression)

式の代入と、それに続く元の式の値を 1 つ減らすデクリメントを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent decrement by 1 of the original expression.

PostDecrementAssign(Expression, MethodInfo)

式の代入と、それに続く元の式の値を 1 つ減らすデクリメントを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent decrement by 1 of the original expression.

PostIncrementAssign(Expression)

式の代入と、それに続く元の式の値を 1 つ増やすインクリメントを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent increment by 1 of the original expression.

PostIncrementAssign(Expression, MethodInfo)

式の代入と、それに続く元の式の値を 1 つ増やすインクリメントを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents the assignment of the expression followed by a subsequent increment by 1 of the original expression.

Power(Expression, Expression)

数値の累乗を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents raising a number to a power.

Power(Expression, Expression, MethodInfo)

数値の累乗を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents raising a number to a power.

PowerAssign(Expression, Expression)

式を累乗し、結果を元の式に代入する操作を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents raising an expression to a power and assigning the result back to the expression.

PowerAssign(Expression, Expression, MethodInfo)

式を累乗し、結果を元の式に代入する操作を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents raising an expression to a power and assigning the result back to the expression.

PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)

式を累乗し、結果を元の式に代入する操作を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents raising an expression to a power and assigning the result back to the expression.

PreDecrementAssign(Expression)

式の値を 1 つデクリメントし、結果を元の式に代入する UnaryExpression を作成します。 Creates a UnaryExpression that decrements the expression by 1 and assigns the result back to the expression.

PreDecrementAssign(Expression, MethodInfo)

式の値を 1 つデクリメントし、結果を元の式に代入する UnaryExpression を作成します。 Creates a UnaryExpression that decrements the expression by 1 and assigns the result back to the expression.

PreIncrementAssign(Expression)

式の値を 1 つインクリメントし、結果を元の式に代入する UnaryExpression を作成します。 Creates a UnaryExpression that increments the expression by 1 and assigns the result back to the expression.

PreIncrementAssign(Expression, MethodInfo)

式の値を 1 つインクリメントし、結果を元の式に代入する UnaryExpression を作成します。 Creates a UnaryExpression that increments the expression by 1 and assigns the result back to the expression.

Property(Expression, MethodInfo)

プロパティ アクセサー メソッドを使用することによるプロパティへのアクセスを表す MemberExpression を作成します。 Creates a MemberExpression that represents accessing a property by using a property accessor method.

Property(Expression, PropertyInfo)

プロパティへのアクセスを表す MemberExpression を作成します。 Creates a MemberExpression that represents accessing a property.

Property(Expression, PropertyInfo, Expression[])

インデックス付きプロパティへのアクセスを表す IndexExpression を作成します。 Creates an IndexExpression representing the access to an indexed property.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

インデックス付きプロパティへのアクセスを表す IndexExpression を作成します。 Creates an IndexExpression representing the access to an indexed property.

Property(Expression, String)

プロパティへのアクセスを表す MemberExpression を作成します。 Creates a MemberExpression that represents accessing a property.

Property(Expression, String, Expression[])

インデックス付きプロパティへのアクセスを表す IndexExpression を作成します。 Creates an IndexExpression representing the access to an indexed property.

Property(Expression, Type, String)

プロパティにアクセスする MemberExpression を作成します。 Creates a MemberExpression accessing a property.

PropertyOrField(Expression, String)

プロパティまたはフィールドへのアクセスを表す MemberExpression を作成します。 Creates a MemberExpression that represents accessing a property or field.

Quote(Expression)

UnaryExpression 型の定数値を持つ式を表す Expression を作成します。 Creates a UnaryExpression that represents an expression that has a constant value of type Expression.

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.

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.

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.

ReferenceEqual(Expression, Expression)

参照が等値であるかどうかの比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a reference equality comparison.

ReferenceNotEqual(Expression, Expression)

参照が等値でないかどうかの比較を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a reference inequality comparison.

Rethrow()

例外の再スローを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a rethrowing of an exception.

Rethrow(Type)

型を指定して、例外の再スローを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a rethrowing of an exception with a given type.

Return(LabelTarget)

return ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a return statement.

Return(LabelTarget, Expression)

return ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a return statement. ジャンプ時にラベルに渡す値を指定できます。 The value passed to the label upon jumping can be specified.

Return(LabelTarget, Expression, Type)

型を指定して、return ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a return statement with the specified type. ジャンプ時にラベルに渡す値を指定できます。 The value passed to the label upon jumping can be specified.

Return(LabelTarget, Type)

型を指定して、return ステートメントを表す GotoExpression を作成します。 Creates a GotoExpression representing a return statement with the specified type.

RightShift(Expression, Expression)

ビットごとの右シフト演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise right-shift operation.

RightShift(Expression, Expression, MethodInfo)

ビットごとの右シフト演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise right-shift operation.

RightShiftAssign(Expression, Expression)

ビットごとの右シフト代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise right-shift assignment operation.

RightShiftAssign(Expression, Expression, MethodInfo)

ビットごとの右シフト代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise right-shift assignment operation.

RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

ビットごとの右シフト代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a bitwise right-shift assignment operation.

RuntimeVariables(IEnumerable<ParameterExpression>)

RuntimeVariablesExpression のインスタンスを作成します。 Creates an instance of RuntimeVariablesExpression.

RuntimeVariables(ParameterExpression[])

RuntimeVariablesExpression のインスタンスを作成します。 Creates an instance of RuntimeVariablesExpression.

Subtract(Expression, Expression)

オーバーフロー チェックを行わない算術減算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic subtraction operation that does not have overflow checking.

Subtract(Expression, Expression, MethodInfo)

オーバーフロー チェックを行わない算術減算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic subtraction operation that does not have overflow checking.

SubtractAssign(Expression, Expression)

オーバーフロー チェックを行わない減算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a subtraction assignment operation that does not have overflow checking.

SubtractAssign(Expression, Expression, MethodInfo)

オーバーフロー チェックを行わない減算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a subtraction assignment operation that does not have overflow checking.

SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)

オーバーフロー チェックを行わない減算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a subtraction assignment operation that does not have overflow checking.

SubtractAssignChecked(Expression, Expression)

オーバーフロー チェックを行う減算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a subtraction assignment operation that has overflow checking.

SubtractAssignChecked(Expression, Expression, MethodInfo)

オーバーフロー チェックを行う減算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a subtraction assignment operation that has overflow checking.

SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

オーバーフロー チェックを行う減算代入演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents a subtraction assignment operation that has overflow checking.

SubtractChecked(Expression, Expression)

オーバーフロー チェックを行う算術減算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic subtraction operation that has overflow checking.

SubtractChecked(Expression, Expression, MethodInfo)

オーバーフロー チェックを行う算術減算演算を表す BinaryExpression を作成します。 Creates a BinaryExpression that represents an arithmetic subtraction operation that has overflow checking.

Switch(Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)

既定のケースがある SwitchExpression ステートメントを表す switch を作成します。 Creates a SwitchExpression that represents a switch statement that has a default case.

Switch(Expression, Expression, MethodInfo, SwitchCase[])

既定のケースがある SwitchExpression ステートメントを表す switch を作成します。 Creates a SwitchExpression that represents a switch statement that has a default case.

Switch(Expression, Expression, SwitchCase[])

既定のケースがある SwitchExpression ステートメントを表す switch を作成します。 Creates a SwitchExpression that represents a switch statement that has a default case.

Switch(Expression, SwitchCase[])

既定のケースのない SwitchExpression ステートメントを表す switch を作成します。 Creates a SwitchExpression that represents a switch statement without a default case.

Switch(Type, Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)

既定のケースがある SwitchExpression ステートメントを表す switch を作成します。 Creates a SwitchExpression that represents a switch statement that has a default case.

Switch(Type, Expression, Expression, MethodInfo, SwitchCase[])

既定のケースがある SwitchExpression ステートメントを表す switch を作成します。 Creates a SwitchExpression that represents a switch statement that has a default case..

SwitchCase(Expression, Expression[])

SwitchCase で使用する SwitchExpression を作成します。 Creates a SwitchCase for use in a SwitchExpression.

SwitchCase(Expression, IEnumerable<Expression>)

SwitchCase オブジェクトで使用される SwitchExpression オブジェクトを作成します。 Creates a SwitchCase object to be used in a SwitchExpression object.

SymbolDocument(String)

SymbolDocumentInfo のインスタンスを作成します。 Creates an instance of SymbolDocumentInfo.

SymbolDocument(String, Guid)

SymbolDocumentInfo のインスタンスを作成します。 Creates an instance of SymbolDocumentInfo.

SymbolDocument(String, Guid, Guid)

SymbolDocumentInfo のインスタンスを作成します。 Creates an instance of SymbolDocumentInfo.

SymbolDocument(String, Guid, Guid, Guid)

SymbolDocumentInfo のインスタンスを作成します。 Creates an instance of SymbolDocumentInfo.

Throw(Expression)

例外のスローを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a throwing of an exception.

Throw(Expression, Type)

型を指定して、例外のスローを表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a throwing of an exception with a given type.

ToString()

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

TryCatch(Expression, CatchBlock[])

任意の数の catch ステートメントを指定し、fault ブロックと finally ブロックを指定せずに、try ブロックを表す TryExpression を作成します。 Creates a TryExpression representing a try block with any number of catch statements and neither a fault nor finally block.

TryCatchFinally(Expression, Expression, CatchBlock[])

任意の数の catch ステートメントおよび 1 つの finally ブロックを指定して、try ブロックを表す TryExpression を作成します。 Creates a TryExpression representing a try block with any number of catch statements and a finally block.

TryFault(Expression, Expression)

fault ブロックを指定し、catch ステートメントを指定せずに、try ブロックを表す TryExpression を作成します。 Creates a TryExpression representing a try block with a fault block and no catch statements.

TryFinally(Expression, Expression)

finally ブロックを指定し、catch ステートメントを指定せずに、try ブロックを表す TryExpression を作成します。 Creates a TryExpression representing a try block with a finally block and no catch statements.

TryGetActionType(Type[], Type)

特定の型引数を持つ汎用 System.Action デリゲート型を表す Type オブジェクトを作成します。 Creates a Type object that represents a generic System.Action delegate type that has specific type arguments.

TryGetFuncType(Type[], Type)

特定の型引数を持つ汎用 System.Func デリゲート型を表す Type オブジェクトを作成します。 Creates a Type object that represents a generic System.Func delegate type that has specific type arguments. 最後の型引数で、作成するデリゲートの戻り値の型を指定します。 The last type argument specifies the return type of the created delegate.

TypeAs(Expression, Type)

変換が失敗した場合に UnaryExpression が提供される明示的な参照変換またはボックス化変換を表す null を作成します。 Creates a UnaryExpression that represents an explicit reference or boxing conversion where null is supplied if the conversion fails.

TypeEqual(Expression, Type)

実行時の型 ID を比較する TypeBinaryExpression を作成します。 Creates a TypeBinaryExpression that compares run-time type identity.

TypeIs(Expression, Type)

TypeBinaryExpression を作成します。 Creates a TypeBinaryExpression.

UnaryPlus(Expression)

単項プラス演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a unary plus operation.

UnaryPlus(Expression, MethodInfo)

単項プラス演算を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents a unary plus operation.

Unbox(Expression, Type)

明示的なボックス化解除を表す UnaryExpression を作成します。 Creates a UnaryExpression that represents an explicit unboxing.

Variable(Type)

式ツリーでパラメーターまたは変数を識別するために使用できる ParameterExpression ノードを作成します。 Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree.

Variable(Type, String)

式ツリーでパラメーターまたは変数を識別するために使用できる ParameterExpression ノードを作成します。 Creates a ParameterExpression node that can be used to identify a parameter or a variable in an expression tree.

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.

適用対象