BinaryExpression クラス

定義

2 項演算子を持つ式を表します。

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

次の例では、 BinaryExpression 別の数値の減算を表すオブジェクトを作成します。

// Create a BinaryExpression that represents subtracting 14 from 53.
System.Linq.Expressions.BinaryExpression binaryExpression =
    System.Linq.Expressions.Expression.MakeBinary(
        System.Linq.Expressions.ExpressionType.Subtract,
        System.Linq.Expressions.Expression.Constant(53),
        System.Linq.Expressions.Expression.Constant(14));

Console.WriteLine(binaryExpression.ToString());

// This code produces the following output:
//
// (53 - 14)
' Create a BinaryExpression that represents subtracting 14 from 53.
Dim binaryExpression As System.Linq.Expressions.BinaryExpression = _
    System.Linq.Expressions.Expression.MakeBinary( _
        System.Linq.Expressions.ExpressionType.Subtract, _
        System.Linq.Expressions.Expression.Constant(53), _
        System.Linq.Expressions.Expression.Constant(14))

Console.WriteLine(binaryExpression.ToString())

' This code produces the following output:
'
' (53 - 14)

注釈

次の表は、プロパティで表される特定のノード型を BinaryExpression 持つファクトリ メソッドを作成するために使用できるファクトリ メソッドを NodeType まとめたものです。 各テーブルには、算術演算やビットごとの演算などの特定のクラスの操作に関する情報が含まれています。

二項算術演算

ノードの種類 Factory メソッド
Add Add
AddChecked AddChecked
Divide Divide
Modulo Modulo
Multiply Multiply
MultiplyChecked MultiplyChecked
Power Power
Subtract Subtract
SubtractChecked SubtractChecked

ビットごとの演算

ノードの種類 Factory メソッド
And And
Or Or
ExclusiveOr ExclusiveOr

Shift 操作

ノードの種類 Factory メソッド
LeftShift LeftShift
RightShift RightShift

条件付きブール演算

ノードの種類 Factory メソッド
AndAlso AndAlso
OrElse OrElse

比較操作

ノードの種類 Factory メソッド
Equal Equal
NotEqual NotEqual
GreaterThanOrEqual GreaterThanOrEqual
GreaterThan GreaterThan
LessThan LessThan
LessThanOrEqual LessThanOrEqual

結合操作

ノードの種類 Factory メソッド
Coalesce Coalesce

配列インデックス作成操作

ノードの種類 Factory メソッド
ArrayIndex ArrayIndex

さらに、メソッドを MakeBinary 使用して BinaryExpression. これらのファクトリ メソッドを使用して、バイナリ操作を BinaryExpression 表す任意のノードの種類を作成できます。 これらのメソッドの型のパラメーターは、目的のノードの種類 NodeType を指定します。

プロパティ

CanReduce

式ツリー ノードを縮小できるかどうかを示す値を取得します。

CanReduce

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

(継承元 Expression)
Conversion

合体演算または複合代入演算で使用される型変換関数を取得します。

IsLifted

式ツリー ノードが、演算子への リフト された呼び出しを表すかどうかを示す値を取得します。

IsLiftedToNull

式ツリー ノードが、戻り値の型が null 許容型にリフトされた演算子への リフト された呼び出しを表すかどうかを示す値を取得します。

Left

二項演算の左オペランドを取得します。

Method

二項演算の実装メソッドを取得します。

NodeType

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

(継承元 Expression)
Right

二項演算の右オペランドを取得します。

Type

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

(継承元 Expression)

メソッド

Accept(ExpressionVisitor)

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

Accept(ExpressionVisitor)

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

(継承元 Expression)
Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
MemberwiseClone()

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

(継承元 Object)
Reduce()

二項式ノードをより単純な式へと変形します。

Reduce()

このノードをより単純な式に変形します。 CanReduce が true を返す場合、これは有効な式を返します。 このメソッドは、それ自体も単純化する必要がある別のノードを返す場合があります。

(継承元 Expression)
ReduceAndCheck()

このノードをより単純な式に変形します。 CanReduce が true を返す場合、これは有効な式を返します。 このメソッドは、それ自体も単純化する必要がある別のノードを返す場合があります。

(継承元 Expression)
ReduceExtensions()

式を既知のノード型 (拡張ノードではない型) に単純化し、それが既に既知の型である場合は単に式を返します。

(継承元 Expression)
ToString()

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

(継承元 Expression)
Update(Expression, LambdaExpression, Expression)

これに似た式ですが、指定された子を使用する、新しい式を作成します。 すべての子が同じである場合、この式を返します。

VisitChildren(ExpressionVisitor)

ノードを単純化し、単純化された式の visitor デリゲートを呼び出します。 ノードを単純化できない場合、このメソッドは例外をスローします。

(継承元 Expression)

適用対象