Expression.GreaterThan メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
"大なり" 数値比較を表す BinaryExpression を作成します。
オーバーロード
GreaterThan(Expression, Expression) |
"大なり" 数値比較を表す BinaryExpression を作成します。 |
GreaterThan(Expression, Expression, Boolean, MethodInfo) |
"大なり" 数値比較を表す BinaryExpression を作成します。 実装メソッドを指定できます。 |
GreaterThan(Expression, Expression)
"大なり" 数値比較を表す BinaryExpression を作成します。
public:
static System::Linq::Expressions::BinaryExpression ^ GreaterThan(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression GreaterThan (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member GreaterThan : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function GreaterThan (left As Expression, right As Expression) As BinaryExpression
パラメーター
- left
- Expression
Expression プロパティを等しく設定する Left。
- right
- Expression
Expression プロパティを等しく設定する Right。
戻り値
BinaryExpression と等しい NodeType プロパティと、指定した値に設定された GreaterThan プロパティおよび Left プロパティを含む Right。
例外
left
または right
が null
です。
"大なり" 演算子は、left
.Type および right
.Type に対して定義されていません。
例
次のコード例は、2 つの整数を比較する式を作成する方法を示しています。
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression compares the values of its two arguments.
// Both arguments must be of the same type.
Expression greaterThanExpr = Expression.GreaterThan(
Expression.Constant(42),
Expression.Constant(45)
);
// Print out the expression.
Console.WriteLine(greaterThanExpr.ToString());
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(
Expression.Lambda<Func<bool>>(greaterThanExpr).Compile()());
// This code example produces the following output:
//
// (42 > 45)
// False
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression compares the values of its two arguments.
' Both arguments must be of the same type.
Dim greaterThanExpr As Expression = Expression.GreaterThan(
Expression.Constant(42),
Expression.Constant(45)
)
' Print the expression.
Console.WriteLine(greaterThanExpr.ToString())
' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(
Expression.Lambda(Of Func(Of Boolean))(greaterThanExpr).Compile()())
' This code example produces the following output:
'
' (42 > 45)
' False
注釈
結果 BinaryExpression の プロパティは Method 、実装メソッドに設定されます。 プロパティは Type ノードの型に設定されます。 ノードがリフトされた場合、 IsLifted プロパティは です true
。 それ以外の場合は、false
となります。 IsLiftedToNull プロパティは常に false
です。 Conversion プロパティが null
です。
次の情報では、実装メソッド、ノードの種類、およびノードがリフトされるかどうかについて説明します。
メソッドの実装
次の規則は、操作の実装方法を決定します。
または
right
のいずれかのleft
プロパティがType、"より大きい" 演算子をオーバーロードするユーザー定義型を表す場合、MethodInfoそのメソッドを表す は実装メソッドです。それ以外の場合
left
は 。と 入力しますright
。型は数値型で、実装メソッドは ですnull
。
ノードの種類とリフトされたノードと非リフト
実装メソッドが でない null
場合:
の場合
left
。と 入力しますright
。型は実装メソッドの対応する引数型に割り当て可能であり、ノードはリフトされません。 ノードの型は、実装メソッドの戻り値の型です。次の 2 つの条件が満たされた場合、ノードはリフトされ、ノードの種類は です Boolean。
left
.と 入力しますright
。型は両方とも の値型であり、少なくとも 1 つは null 許容であり、対応する null 非許容型は実装メソッドの対応する引数型と等しくなります。実装メソッドの戻り値の型は です Boolean。
実装メソッドが の場合:null
の場合
left
。と 入力しますright
。型はどちらも null 非許容であり、ノードはリフトされません。 ノードの種類は です Boolean。の場合
left
。と 入力しますright
。型はどちらも null 許容であり、ノードはリフトされます。 ノードの種類は です Boolean。
適用対象
GreaterThan(Expression, Expression, Boolean, MethodInfo)
"大なり" 数値比較を表す BinaryExpression を作成します。 実装メソッドを指定できます。
public:
static System::Linq::Expressions::BinaryExpression ^ GreaterThan(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, bool liftToNull, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression GreaterThan (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, bool liftToNull, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression GreaterThan (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, bool liftToNull, System.Reflection.MethodInfo? method);
static member GreaterThan : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * bool * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function GreaterThan (left As Expression, right As Expression, liftToNull As Boolean, method As MethodInfo) As BinaryExpression
パラメーター
- left
- Expression
Expression プロパティを等しく設定する Left。
- right
- Expression
Expression プロパティを等しく設定する Right。
- liftToNull
- Boolean
true
を IsLiftedToNull に設定する場合は true
。false
を IsLiftedToNull に設定する場合は false
。
- method
- MethodInfo
MethodInfo プロパティを等しく設定する Method。
戻り値
BinaryExpression と等しい NodeType プロパティと、指定した値に設定された GreaterThan、Left、Right、および IsLiftedToNull の各プロパティを含む Method。
例外
left
または right
が null
です。
method
は null
ではなく、それを表すメソッドは void
を返し、static
(Visual Basic では Shared
) ではなく、またはちょうど 2 つの引数を受け取りません。
method
は null
で、"大なり" 演算子は left
.Type および right
.Type に対して定義されていません。
注釈
結果 BinaryExpression の プロパティは Method 、実装メソッドに設定されます。 プロパティは Type ノードの型に設定されます。 ノードがリフトされた場合、 IsLifted プロパティは で true
、 IsLiftedToNull プロパティは と liftToNull
等しくなります。 それ以外の場合は、両方とも false
です。 Conversion プロパティが null
です。
次の情報では、実装メソッド、ノードの種類、およびノードがリフトされるかどうかについて説明します。
メソッドの実装
次の規則は、操作の実装方法を決定します。
が でなく
null
、static
2 つの引数を受け取る (Shared
Visual Basic の場合) 非 void メソッドを表す場合method
は、実装メソッドです。それ以外の場合、 または
right
のいずれかのleft
プロパティが"より大きい" 演算子をオーバーロードするユーザー定義型を表す場合Type、MethodInfoそのメソッドを表す は実装メソッドです。それ以外の場合
left
は 。と 入力しますright
。型は数値型で、実装メソッドは ですnull
。
ノードの種類とリフトされたノードと非リフト
実装メソッドが でない null
場合:
の場合
left
。と 入力しますright
。型は実装メソッドの対応する引数型に割り当て可能であり、ノードはリフトされません。 ノードの型は、実装メソッドの戻り値の型です。次の 2 つの条件が満たされた場合、ノードはリフトされます。また、 が の場合、または が の場合
liftToNull
、ノードの型は Booleantrue
null 許容Booleanになりますfalse
。liftToNull
left
.と 入力しますright
。型は両方とも の値型であり、少なくとも 1 つは null 許容であり、対応する null 非許容型は実装メソッドの対応する引数型と等しくなります。実装メソッドの戻り値の型は です Boolean。
実装メソッドが の場合:null
の場合
left
。と 入力しますright
。型はどちらも null 非許容であり、ノードはリフトされません。 ノードの種類は です Boolean。の場合
left
。と 入力しますright
。型はどちらも null 許容であり、ノードはリフトされます。 が の場合、または Boolean が の場合liftToNull
liftToNull
、ノードの型はtrue
null 許容Booleanですfalse
。
適用対象
.NET