Expression.GreaterThan Метод

Определение

Создает объект BinaryExpression , представляющий числовое сравнение "больше",

Перегрузки

Имя Описание
GreaterThan(Expression, Expression)

Создает объект BinaryExpression , представляющий числовое сравнение "больше",

GreaterThan(Expression, Expression, Boolean, MethodInfo)

Создает объект BinaryExpression , представляющий числовое сравнение "больше", Можно указать метод реализации.

GreaterThan(Expression, Expression)

Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs

Создает объект 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 , равное свойству NodeTypeGreaterThan и LeftRight свойствам, заданным указанным значениям.

Исключения

left или right есть null.

Оператор "больше" не определен для left. Тип и right. Тип.

Примеры

В следующем примере кода показано, как создать выражение, которое сравнивает два целых числа.

// 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

Комментарии

Результирующий BinaryExpressionMethod объект имеет свойство, заданное для метода реализации. Свойство Type устанавливается в соответствии с типом узла. Если узел снят, IsLifted свойство имеет значение true. В противном случае значение равно false. Свойство IsLiftedToNull всегда имеет значение false. Свойство Conversion является null.

Ниже приведены сведения о методе реализации, типе узла и о том, будет ли снят узел.

Реализация метода

Следующие правила определяют метод реализации для операции:

  • Type Если свойство любого left или right представляет определяемый пользователем тип, который перегружает оператор "больше, чем", MethodInfo то это метод, представляющий этот метод, является методом реализации.

  • В противном случае , если left. Тип и right. Тип — числовые типы, реализуется nullметод.

Тип узла и снятый и не поднимаемый

Если метод реализации не null :

  • Если left. Тип и right. Тип можно присвоить соответствующим типам аргументов реализующего метода, узел не поднимается. Тип узла — это возвращаемый тип метода реализации.

  • Если выполнены следующие два условия, узел поднимается, а тип узла :Boolean

    • left. Тип и right. Тип — это оба типа значений, для которых по крайней мере один имеет значение NULL, и соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов метода реализации.

    • Возвращаемый тип реализующего метода.Boolean

Если метод реализации имеет значение null:

  • Если left.Тип и right.Тип оба не допускают значение NULL, узел не поднимается. Тип узла .Boolean

  • Если тип left и тип right оба могут быть null, узел поднимается в более высокий уровень. Тип узла .Boolean

Применяется к

GreaterThan(Expression, Expression, Boolean, MethodInfo)

Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs
Исходный код:
BinaryExpression.cs

Создает объект 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 значения IsLiftedToNullfalse.truefalse

method
MethodInfo

Значение, MethodInfo равное свойству Method .

Возвращаемое значение

ЗначениеBinaryExpression, равное свойству GreaterThanMethodNodeType и LeftRightIsLiftedToNullсвойству, заданному указанным значениям.

Исключения

left или right есть null.

method не null является и метод, представляющий возвращаемую, voidне static является (Shared в Visual Basic) или не принимает ровно два аргумента.

method is null и оператор "больше" не определен для left. Тип и right. Тип.

Комментарии

Результирующий BinaryExpressionMethod объект имеет свойство, заданное для метода реализации. Свойство Type устанавливается в соответствии с типом узла. Если узел снят, IsLifted свойство равно true и IsLiftedToNull свойству liftToNull. В противном случае они оба false. Свойство Conversion является null.

Ниже приведены сведения о методе реализации, типе узла и о том, будет ли снят узел.

Реализация метода

Следующие правила определяют метод реализации операции:

  • Если method это не null так, static и он представляет непустый метод (Shared в Visual Basic), который принимает два аргумента, это метод реализации.

  • В противном случае, если Type свойство любого left или right представляет определяемый пользователем тип, который перегружает оператор "больше, чем", MethodInfo то это метод реализации.

  • В противном случае , если left. Тип и right. Тип — числовые типы, реализуется nullметод.

Тип узла и снятый и не поднимаемый

Если метод реализации не null :

  • Если left. Тип и right. Тип можно присвоить соответствующим типам аргументов реализующего метода, узел не поднимается. Тип узла — это возвращаемый тип метода реализации.

  • Если выполнены следующие два условия, узел поднимается; Кроме того, тип узла имеет значение Boolean NULL, если liftToNull имеет значение или BooleanliftToNull имеет truefalseзначение :

    • left. Тип и right. Тип — это оба типа значений, для которых по крайней мере один имеет значение NULL, и соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов метода реализации.

    • Возвращаемый тип реализующего метода.Boolean

Если метод реализации имеет значение null:

  • Если left.Тип и right.Тип оба не допускают значение NULL, узел не поднимается. Тип узла .Boolean

  • Если тип left и тип right оба могут быть null, узел поднимается в более высокий уровень. Тип узла имеет значение Boolean NULL, если liftToNull имеет значение true или BooleanliftToNull имеет значение false.

Применяется к