BinaryExpression Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un'espressione con un operatore binario.
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
- Ereditarietà
Esempio
Nell'esempio seguente viene creato un BinaryExpression oggetto che rappresenta la sottrazione di un numero da un altro.
// 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)
Commenti
La BinaryExpression classe rappresenta un'espressione con un operatore binario.
Nelle tabelle seguenti sono riepilogati i metodi factory che possono essere usati per creare un BinaryExpression oggetto con un tipo di nodo specifico, rappresentato dalla NodeType proprietà . Ogni tabella contiene informazioni per una classe specifica di operazioni, ad esempio aritmetica o bit per bit.
Operazioni aritmetiche binarie
| Tipo di nodo | Metodo Factory |
|---|---|
| Add | Add |
| AddChecked | AddChecked |
| Divide | Divide |
| Modulo | Modulo |
| Multiply | Multiply |
| MultiplyChecked | MultiplyChecked |
| Power | Power |
| Subtract | Subtract |
| SubtractChecked | SubtractChecked |
Operazioni bit per bit
| Tipo di nodo | Metodo Factory |
|---|---|
| And | And |
| Or | Or |
| ExclusiveOr | ExclusiveOr |
Operazioni di spostamento
| Tipo di nodo | Metodo Factory |
|---|---|
| LeftShift | LeftShift |
| RightShift | RightShift |
Operazioni booleane condizionali
| Tipo di nodo | Metodo Factory |
|---|---|
| AndAlso | AndAlso |
| OrElse | OrElse |
Operazioni di confronto
| Tipo di nodo | Metodo Factory |
|---|---|
| Equal | Equal |
| NotEqual | NotEqual |
| GreaterThanOrEqual | GreaterThanOrEqual |
| GreaterThan | GreaterThan |
| LessThan | LessThan |
| LessThanOrEqual | LessThanOrEqual |
Operazioni di fusione
| Tipo di nodo | Metodo Factory |
|---|---|
| Coalesce | Coalesce |
Operazioni di indicizzazione delle matrici
| Tipo di nodo | Metodo Factory |
|---|---|
| ArrayIndex | ArrayIndex |
Inoltre, i MakeBinary metodi possono essere usati anche per creare un oggetto BinaryExpression. Questi metodi di fabbrica possono essere usati per creare un BinaryExpression di qualsiasi tipo di nodo che rappresenta un'operazione binaria. Il parametro di questi metodi di tipo NodeType specifica il tipo di nodo desiderato.
Proprietà
| Nome | Descrizione |
|---|---|
| CanReduce |
Ottiene un valore che indica se il nodo dell'albero delle espressioni può essere ridotto. |
| Conversion |
Ottiene la funzione di conversione del tipo utilizzata da un'operazione di unione o assegnazione composta. |
| IsLifted |
Ottiene un valore che indica se il nodo dell'albero delle espressioni rappresenta una chiamata lifted a un operatore. |
| IsLiftedToNull |
Ottiene un valore che indica se il nodo dell'albero delle espressioni rappresenta una chiamata lifted a un operatore il cui tipo restituito viene sollevato su un tipo nullable. |
| Left |
Ottiene l'operando sinistro dell'operazione binaria. |
| Method |
Ottiene il metodo di implementazione per l'operazione binaria. |
| NodeType |
Ottiene il tipo di nodo dell'oggetto Expression. (Ereditato da Expression) |
| Right |
Ottiene l'operando destro dell'operazione binaria. |
| Type |
Ottiene il tipo statico dell'espressione rappresentata da .Expression (Ereditato da Expression) |
Metodi
| Nome | Descrizione |
|---|---|
| Accept(ExpressionVisitor) |
Invia al metodo visit specifico per questo tipo di nodo. Ad esempio, MethodCallExpression chiama .VisitMethodCall(MethodCallExpression) |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| Reduce() |
Riduce il nodo dell'espressione binaria a un'espressione più semplice. |
| ReduceAndCheck() |
Riduce questo nodo a un'espressione più semplice. Se CanReduce restituisce true, verrà restituita un'espressione valida. Questo metodo può restituire un altro nodo che deve essere ridotto. (Ereditato da Expression) |
| ReduceExtensions() |
Riduce l'espressione a un tipo di nodo noto (che non è un nodo di estensione) o restituisce semplicemente l'espressione se è già un tipo noto. (Ereditato da Expression) |
| ToString() |
Restituisce una rappresentazione testuale dell'oggetto Expression. (Ereditato da Expression) |
| Update(Expression, LambdaExpression, Expression) |
Crea una nuova espressione simile a questa, ma utilizzando gli elementi figlio forniti. Se tutti gli elementi figlio sono uguali, restituirà questa espressione. |
| VisitChildren(ExpressionVisitor) |
Riduce il nodo e quindi chiama il delegato visitor nell'espressione ridotta. Il metodo genera un'eccezione se il nodo non è reducibile. (Ereditato da Expression) |