BinaryExpression BinaryExpression BinaryExpression BinaryExpression Class

定義

二項演算子を持つ式を表します。Represents an expression that has a binary operator.

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

次の例ではBinaryExpression 、ある数値の減算を表すオブジェクトを別の値から作成します。The following example creates a BinaryExpression object that represents the subtraction of one number from another.

// 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プロパティによって表される特定のノード型を持つの作成に使用できるファクトリメソッドをまとめたものです。The following tables summarize the factory methods that can be used to create a BinaryExpression that has a specific node type, represented by the NodeType property. 各テーブルには、算術演算やビットごとの演算など、特定のクラスの操作に関する情報が含まれています。Each table contains information for a specific class of operations such as arithmetic or bitwise.

二項算術演算Binary Arithmetic Operations

ノード型Node Type ファクトリメソッドFactory Method
Add Add
AddChecked AddChecked
Divide Divide
Modulo Modulo
Multiply Multiply
MultiplyChecked MultiplyChecked
Power Power
Subtract Subtract
SubtractChecked SubtractChecked

ビットごとの演算Bitwise Operations

ノード型Node Type ファクトリメソッドFactory Method
And And
Or Or
ExclusiveOr ExclusiveOr

シフト操作Shift Operations

ノード型Node Type ファクトリメソッドFactory Method
LeftShift LeftShift
RightShift RightShift

条件付きブール演算Conditional Boolean Operations

ノード型Node Type ファクトリメソッドFactory Method
AndAlso AndAlso
OrElse OrElse

比較操作Comparison Operations

ノード型Node Type ファクトリメソッドFactory Method
Equal Equal
NotEqual NotEqual
GreaterThanOrEqual GreaterThanOrEqual
GreaterThan GreaterThan
LessThan LessThan
LessThanOrEqual LessThanOrEqual

合体演算Coalescing Operations

ノード型Node Type ファクトリメソッドFactory Method
Coalesce Coalesce

配列のインデックス作成操作Array Indexing Operations

ノード型Node Type ファクトリメソッドFactory Method
ArrayIndex ArrayIndex

また、メソッドをMakeBinary使用してをBinaryExpression作成することもできます。In addition, the MakeBinary methods can also be used to create a BinaryExpression. これらのファクトリメソッドを使用して、 BinaryExpression二項演算を表す任意のノード型のを作成できます。These factory methods can be used to create a BinaryExpression of any node type that represents a binary operation. NodeTypeであるこれらのメソッドのパラメーターは、目的のノード型を指定します。The parameter of these methods that is of type NodeType specifies the desired node type.

プロパティ

CanReduce CanReduce CanReduce CanReduce

式ツリー ノードを縮小できるかどうかを示す値を取得します。Gets a value that indicates whether the expression tree node can be reduced.

Conversion Conversion Conversion Conversion

合体演算または複合代入演算で使用される型変換関数を取得します。Gets the type conversion function that is used by a coalescing or compound assignment operation.

IsLifted IsLifted IsLifted IsLifted

式ツリー ノードが、演算子へのリフトされた呼び出しを表すかどうかを示す値を取得します。Gets a value that indicates whether the expression tree node represents a lifted call to an operator.

IsLiftedToNull IsLiftedToNull IsLiftedToNull IsLiftedToNull

式ツリー ノードが、戻り値の型が null 許容型にリフトされた演算子へのリフトされた呼び出しを表すかどうかを示す値を取得します。Gets a value that indicates whether the expression tree node represents a lifted call to an operator whose return type is lifted to a nullable type.

Left Left Left Left

二項演算の左オペランドを取得します。Gets the left operand of the binary operation.

Method Method Method Method

二項演算の実装メソッドを取得します。Gets the implementing method for the binary operation.

NodeType NodeType NodeType NodeType

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

(Inherited from Expression)
Right Right Right Right

二項演算の右オペランドを取得します。Gets the right operand of the binary operation.

Type Type Type Type

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

(Inherited from Expression)

メソッド

Accept(ExpressionVisitor) Accept(ExpressionVisitor) Accept(ExpressionVisitor) Accept(ExpressionVisitor)

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

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
Reduce() Reduce() Reduce() Reduce()

二項式ノードをより単純な式へと変形します。Reduces the binary expression node to a simpler expression.

ReduceAndCheck() ReduceAndCheck() ReduceAndCheck() 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.

(Inherited from Expression)
ReduceExtensions() ReduceExtensions() ReduceExtensions() 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.

(Inherited from Expression)
ToString() ToString() ToString() ToString()

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

(Inherited from Expression)
Update(Expression, LambdaExpression, Expression) Update(Expression, LambdaExpression, Expression) Update(Expression, LambdaExpression, Expression) Update(Expression, LambdaExpression, Expression)

この式に似た新しい式を作成しますが、指定された子を使用します。Creates a new expression that is like this one, but using the supplied children. すべての子が同じであれば、この式が返されます。If all of the children are the same, it will return this expression.

VisitChildren(ExpressionVisitor) VisitChildren(ExpressionVisitor) VisitChildren(ExpressionVisitor) 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.

(Inherited from Expression)

適用対象