Condividi tramite


Expression.GreaterThan Metodo

Definizione

Crea un oggetto BinaryExpression che rappresenta un confronto numerico "maggiore di".

Overload

GreaterThan(Expression, Expression)

Crea un oggetto BinaryExpression che rappresenta un confronto numerico "maggiore di".

GreaterThan(Expression, Expression, Boolean, MethodInfo)

Crea un oggetto BinaryExpression che rappresenta un confronto numerico "maggiore di". Il metodo di implementazione può essere specificato.

GreaterThan(Expression, Expression)

Origine:
BinaryExpression.cs
Origine:
BinaryExpression.cs
Origine:
BinaryExpression.cs

Crea un oggetto BinaryExpression che rappresenta un confronto numerico "maggiore di".

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

Parametri

left
Expression

Oggetto Expression su cui impostare la proprietà Left.

right
Expression

Oggetto Expression su cui impostare la proprietà Right.

Restituisce

Oggetto BinaryExpression la cui proprietà NodeType è uguale a GreaterThan e le cui proprietà Left e Right sono impostate sui valori specificati.

Eccezioni

left o right è null.

L'operatore "maggiore di" non è definito per left.Type e right.Type.

Esempio

Nell'esempio di codice seguente viene illustrato come creare un'espressione che confronta due interi.

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

Commenti

Il risultato BinaryExpression ha la Method proprietà impostata sul metodo di implementazione. La Type proprietà è impostata sul tipo del nodo. Se il nodo viene sollevato, la IsLifted proprietà è true. In caso contrario, è false. La proprietà IsLiftedToNull è sempre false. La proprietà Conversion è null.

Le informazioni seguenti descrivono il metodo di implementazione, il tipo di nodo e se un nodo viene sollevato.

Metodo di implementazione

Le regole seguenti determinano il metodo di implementazione per l'operazione:

  • Se la proprietà di left o right rappresenta un tipo definito dall'utente che esegue l'overload Type dell'operatore "maggiore di", l'oggetto MethodInfo che rappresenta tale metodo è il metodo di implementazione.

  • In caso contrario, se left. Digitare e right. Il tipo sono tipi numerici, il metodo di implementazione è null.

Tipo di nodo e lifting rispetto a non sollevato

Se il metodo di implementazione non nullè :

  • Se left. Digitare e right. Il tipo è assegnabile ai tipi di argomenti corrispondenti del metodo di implementazione, il nodo non viene sollevato. Il tipo del nodo è il tipo restituito del metodo di implementazione.

  • Se vengono soddisfatte le due condizioni seguenti, il nodo viene sollevato e il tipo del nodo è Boolean:

    • left. Digitare e right. Il tipo è entrambi i tipi di valore di cui almeno uno è nullable e i tipi non nullable corrispondenti sono uguali ai tipi di argomento corrispondenti del metodo di implementazione.

    • Il tipo restituito del metodo di implementazione è Boolean.

Se il metodo di implementazione è null:

  • Se left. Digitare e right. Il tipo non è nullable, il nodo non viene sollevato. Il tipo del nodo è Boolean.

  • Se left. Digitare e right. Il tipo è entrambi nullable, il nodo viene sollevato. Il tipo del nodo è Boolean.

Si applica a

GreaterThan(Expression, Expression, Boolean, MethodInfo)

Origine:
BinaryExpression.cs
Origine:
BinaryExpression.cs
Origine:
BinaryExpression.cs

Crea un oggetto BinaryExpression che rappresenta un confronto numerico "maggiore di". Il metodo di implementazione può essere specificato.

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

Parametri

left
Expression

Oggetto Expression su cui impostare la proprietà Left.

right
Expression

Oggetto Expression su cui impostare la proprietà Right.

liftToNull
Boolean

true per impostare IsLiftedToNull su true; false per impostare IsLiftedToNull su false.

method
MethodInfo

Oggetto MethodInfo su cui impostare la proprietà Method.

Restituisce

Oggetto BinaryExpression la cui proprietà NodeType è uguale a GreaterThan e le cui proprietà Left, Right, IsLiftedToNull e Method sono impostate sui valori specificati.

Eccezioni

left o right è null.

method non è null e il metodo che rappresenta restituisce void, non è static (Shared in Visual Basic) oppure non accetta esattamente due argomenti.

method è null e l'operatore "maggiore di" non è definito per left.Type e right.Type.

Commenti

Il risultato BinaryExpression ha la Method proprietà impostata sul metodo di implementazione. La Type proprietà è impostata sul tipo del nodo. Se il nodo viene sollevato, la IsLifted proprietà è true e la IsLiftedToNull proprietà è uguale a liftToNull. In caso contrario, sono entrambi false. La proprietà Conversion è null.

Le informazioni seguenti descrivono il metodo di implementazione, il tipo di nodo e se un nodo viene sollevato.

Metodo di implementazione

Le regole seguenti determinano il metodo di implementazione per l'operazione :

  • Se method non null è e rappresenta un metodo non void, static (Shared in Visual Basic) che accetta due argomenti, è il metodo di implementazione.

  • In caso contrario, se la proprietà di left o right rappresenta un tipo definito dall'utente che esegue l'overload Type dell'operatore "maggiore di", l'oggetto MethodInfo che rappresenta tale metodo è il metodo di implementazione.

  • In caso contrario, se left. Digitare e right. Il tipo sono tipi numerici, il metodo di implementazione è null.

Tipo di nodo e lifting rispetto a non sollevato

Se il metodo di implementazione non nullè :

  • Se left. Digitare e right. Il tipo è assegnabile ai tipi di argomenti corrispondenti del metodo di implementazione, il nodo non viene sollevato. Il tipo del nodo è il tipo restituito del metodo di implementazione.

  • Se vengono soddisfatte le due condizioni seguenti, il nodo viene sollevato; inoltre, il tipo del nodo è nullable Boolean se liftToNull è o Boolean se liftToNull è truefalse:

    • left. Digitare e right. Il tipo è entrambi i tipi di valore di cui almeno uno è nullable e i tipi non nullable corrispondenti sono uguali ai tipi di argomento corrispondenti del metodo di implementazione.

    • Il tipo restituito del metodo di implementazione è Boolean.

Se il metodo di implementazione è null:

  • Se left. Digitare e right. Il tipo non è nullable, il nodo non viene sollevato. Il tipo del nodo è Boolean.

  • Se left. Digitare e right. Il tipo è entrambi nullable, il nodo viene sollevato. Il tipo del nodo è nullable Boolean se liftToNull è true o Boolean se liftToNull è false.

Si applica a