Expression.LessThanOrEqual メソッド

定義

"以下" 数値比較を表す BinaryExpression を作成します。

オーバーロード

LessThanOrEqual(Expression, Expression)

"以下" 数値比較を表す BinaryExpression を作成します。

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

"以下" 数値比較を表す BinaryExpression を作成します。

LessThanOrEqual(Expression, Expression)

"以下" 数値比較を表す BinaryExpression を作成します。

public:
 static System::Linq::Expressions::BinaryExpression ^ LessThanOrEqual(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression LessThanOrEqual (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member LessThanOrEqual : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function LessThanOrEqual (left As Expression, right As Expression) As BinaryExpression

パラメーター

left
Expression

Expression プロパティを等しく設定する Left

right
Expression

Expression プロパティを等しく設定する Right

戻り値

BinaryExpression

BinaryExpression と等しい NodeType プロパティと、指定した値に設定された LessThanOrEqual プロパティおよび Left プロパティを含む Right

例外

left または rightnull です。

"以下" 演算子は 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 lessThanOrEqual = Expression.LessThanOrEqual(
    Expression.Constant(42),
    Expression.Constant(45)
);

// Print out the expression.
Console.WriteLine(lessThanOrEqual.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<bool>>(lessThanOrEqual).Compile()());

// This code example produces the following output:
//
// (42 <= 45)
// True
' 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 lessThanOrEqual As Expression = Expression.LessThanOrEqual(
     Expression.Constant(42),
     Expression.Constant(45)
 )

' Print the expression.
Console.WriteLine(lessThanOrEqual.ToString())

' The following statement first creates an expression tree,
' then compiles it, and then executes it. 
Console.WriteLine(
    Expression.Lambda(Of Func(Of Boolean))(lessThanOrEqual).Compile()())

' This code example produces the following output:
'
' (42 <= 45)
' True

注釈

結果 BinaryExpression のプロパティは Method 、実装メソッドに設定されます。 この Type プロパティは、ノードの種類に設定されます。 ノードがリフトされた場合、 IsLifted プロパティは true. それ以外の場合は、false となります。 IsLiftedToNull プロパティは常に falseです。 Conversion プロパティが null です。

次の情報では、実装方法、ノードの種類、およびノードがリフトされるかどうかについて説明します。

メソッドの実装

次の規則は、操作の実装方法を決定します。

  • Type"より小さいか等しい" 演算子をオーバーロードするユーザー定義型のプロパティまたはrightいずれかのプロパティleftを表す場合は、MethodInfoそのメソッドを表すメソッドが実装メソッドです。

  • それ以外の場合 leftは .型と right.型は数値型で、実装メソッドは null.

ノードの種類とリフトされたノードと非リフト

実装方法が次ではない null場合:

  • If left.型と right.型は実装メソッドの対応する引数型に割り当てることができますが、ノードはリフトされません。 ノードの型は、実装メソッドの戻り値の型です。

  • 次の 2 つの条件が満たされた場合、ノードはリフトされ、ノードの種類は Boolean次のようになります。

    • left.型と right.型は両方とも、少なくとも 1 つが null 許容であり、対応する null 非許容型が実装メソッドの対応する引数型と等しい値型です。

    • 実装メソッドの戻り値の型は .Boolean

実装方法が次の場合:null

  • If left.型と right.型はどちらも null 許容ではなく、ノードはリフトされません。 ノードの種類は Boolean.

  • If left.型と right.型はどちらも null 許容であり、ノードはリフトされます。 ノードの種類は Boolean.

適用対象

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

"以下" 数値比較を表す BinaryExpression を作成します。

public:
 static System::Linq::Expressions::BinaryExpression ^ LessThanOrEqual(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, bool liftToNull, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression LessThanOrEqual (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, bool liftToNull, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression LessThanOrEqual (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, bool liftToNull, System.Reflection.MethodInfo? method);
static member LessThanOrEqual : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * bool * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function LessThanOrEqual (left As Expression, right As Expression, liftToNull As Boolean, method As MethodInfo) As BinaryExpression

パラメーター

left
Expression

Expression プロパティを等しく設定する Left

right
Expression

Expression プロパティを等しく設定する Right

liftToNull
Boolean

trueIsLiftedToNull に設定する場合は truefalseIsLiftedToNull に設定する場合は false

method
MethodInfo

MethodInfo プロパティを等しく設定する Method

戻り値

BinaryExpression

BinaryExpression と等しい NodeType プロパティと、指定した値に設定された LessThanOrEqualLeftRight、および IsLiftedToNull の各プロパティを含む Method

例外

left または rightnull です。

methodnull ではなく、それを表すメソッドは void を返し、static (Visual Basic では Shared) ではなく、またはちょうど 2 つの引数を受け取りません。

methodnull で、"以下" 演算子は left.Type および right.Type に対して定義されていません。

注釈

結果 BinaryExpression のプロパティは Method 、実装メソッドに設定されます。 この Type プロパティは、ノードの種類に設定されます。 ノードがリフトされた場合、 IsLifted プロパティは true 次の値になり、 IsLiftedToNull プロパティは次の値になります liftToNull。 それ以外の場合は、両方とも false. Conversion プロパティが null です。

次の情報では、実装方法、ノードの種類、およびノードがリフトされるかどうかについて説明します。

メソッドの実装

次の規則は、操作の実装方法を決定します。

  • 存在せずnull、void 以外を表す場合methodは、 static 2 つの引数を受け取る (SharedVisual Basic) メソッドが実装メソッドです。

  • それ以外の場合、"leftより小さいか等しい" 演算子をオーバーロードするユーザー定義型のプロパティまたはrightいずれかのプロパティを表す場合Typeは、MethodInfoそのメソッドを表す実装メソッドです。

  • それ以外の場合 leftは .型と right.型は数値型で、実装メソッドは null.

ノードの種類とリフトされたノードと非リフト

実装方法が次ではない null場合:

  • If left.型と right.型は実装メソッドの対応する引数型に割り当てることができますが、ノードはリフトされません。 ノードの型は、実装メソッドの戻り値の型です。

  • 次の 2 つの条件が満たされた場合、ノードはリフトされます。また、ノードの型が次の場合、またはBoolean次の場合liftToNull``liftToNulltrue null 許容Booleanですfalse

    • left.型と right.型は両方とも、少なくとも 1 つが null 許容であり、対応する null 非許容型が実装メソッドの対応する引数型と等しい値型です。

    • 実装メソッドの戻り値の型は .Boolean

実装方法が次の場合:null

  • If left.型と right.型はどちらも null 許容ではなく、ノードはリフトされません。 ノードの種類は Boolean.

  • If left.型と right.型はどちらも null 許容であり、ノードはリフトされます。 ノードの型が null の場合、またはBoolean存在する場合liftToNull``liftToNulltrue null 許容Booleanですfalse

適用対象