BinaryExpression クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 別の数値の減算を表すオブジェクトを作成します。
// 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 メソッドにデスパッチします。 たとえば、MethodCallExpression は VisitMethodCall(MethodCallExpression) を呼び出します。 |
Accept(ExpressionVisitor) |
このノード型の特定の Visit メソッドにデスパッチします。 たとえば、MethodCallExpression は VisitMethodCall(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) |