BinaryExpression Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje wyrażenie, które ma operator binarny.
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
- Dziedziczenie
Przykłady
Poniższy przykład tworzy BinaryExpression obiekt reprezentujący odejmowanie jednej liczby z innej.
// 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)
Uwagi
Klasa BinaryExpression reprezentuje wyrażenie, które ma operator binarny.
W poniższych tabelach podsumowano metody fabryki, które można wykorzystać do utworzenia BinaryExpression o określonym typie węzła, reprezentowanym przez właściwość NodeType. Każda tabela zawiera informacje dotyczące określonej klasy operacji, takich jak arytmetyka lub bitowa.
Operacje arytmetyczne binarne
| Typ węzła | Metoda fabryczna |
|---|---|
| Add | Add |
| AddChecked | AddChecked |
| Divide | Divide |
| Modulo | Modulo |
| Multiply | Multiply |
| MultiplyChecked | MultiplyChecked |
| Power | Power |
| Subtract | Subtract |
| SubtractChecked | SubtractChecked |
Operacje bitowe
| Typ węzła | Metoda fabryczna |
|---|---|
| And | And |
| Or | Or |
| ExclusiveOr | ExclusiveOr |
Operacje przesunięcia
| Typ węzła | Metoda fabryczna |
|---|---|
| LeftShift | LeftShift |
| RightShift | RightShift |
Warunkowe operacje logiczne
| Typ węzła | Metoda fabryczna |
|---|---|
| AndAlso | AndAlso |
| OrElse | OrElse |
Operacje porównania
| Typ węzła | Metoda fabryczna |
|---|---|
| Equal | Equal |
| NotEqual | NotEqual |
| GreaterThanOrEqual | GreaterThanOrEqual |
| GreaterThan | GreaterThan |
| LessThan | LessThan |
| LessThanOrEqual | LessThanOrEqual |
Operacje łączenia
| Typ węzła | Metoda fabryczna |
|---|---|
| Coalesce | Coalesce |
Operacje indeksowania tablic
| Typ węzła | Metoda fabryczna |
|---|---|
| ArrayIndex | ArrayIndex |
Ponadto MakeBinary metody można również użyć do utworzenia elementu BinaryExpression. Te metody fabryczne mogą być używane do tworzenia BinaryExpression dla dowolnego typu węzła, który reprezentuje operację binarną. Parametr tych metod, który jest typu NodeType określa żądany typ węzła.
Właściwości
| Nazwa | Opis |
|---|---|
| CanReduce |
Pobiera wartość wskazującą, czy można zmniejszyć węzeł drzewa wyrażeń. |
| Conversion |
Pobiera funkcję konwersji typu, która jest używana przez operację łączenia lub przypisania złożonego. |
| IsLifted |
Pobiera wartość wskazującą, czy węzeł drzewa wyrażeń reprezentuje podniesione wywołanie operatora. |
| IsLiftedToNull |
Pobiera wartość wskazującą, czy węzeł drzewa wyrażeń reprezentuje zniesione wywołanie operatora, którego typ zwracany jest podniesiony do typu dopuszczalnego wartości null. |
| Left |
Pobiera lewy operand operacji binarnej. |
| Method |
Pobiera metodę implementowania dla operacji binarnej. |
| NodeType |
Pobiera typ węzła tego Expressionelementu . (Odziedziczone po Expression) |
| Right |
Pobiera prawy operand operacji binarnej. |
| Type |
Pobiera statyczny typ wyrażenia, które reprezentuje Expression . (Odziedziczone po Expression) |
Metody
| Nazwa | Opis |
|---|---|
| Accept(ExpressionVisitor) |
Wysyła do określonej metody visit dla tego typu węzła. Na przykład MethodCallExpression wywołuje metodę VisitMethodCall(MethodCallExpression). |
| Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
| GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
| GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
| Reduce() |
Zmniejsza węzeł wyrażenia binarnego do prostszego wyrażenia. |
| ReduceAndCheck() |
Zmniejsza ten węzeł do prostszego wyrażenia. Jeśli funkcja CanReduce zwraca wartość true, powinno to zwrócić prawidłowe wyrażenie. Ta metoda może zwrócić inny węzeł, który należy zmniejszyć. (Odziedziczone po Expression) |
| ReduceExtensions() |
Zmniejsza wyrażenie do znanego typu węzła (który nie jest węzłem rozszerzenia) lub po prostu zwraca wyrażenie, jeśli jest już znanym typem. (Odziedziczone po Expression) |
| ToString() |
Zwraca tekstową reprezentację elementu Expression. (Odziedziczone po Expression) |
| Update(Expression, LambdaExpression, Expression) |
Tworzy nowe wyrażenie podobne do tego, ale przy użyciu dostarczonych elementów podrzędnych. Jeśli wszystkie elementy podrzędne są takie same, zwróci to wyrażenie. |
| VisitChildren(ExpressionVisitor) |
Zmniejsza węzeł, a następnie wywołuje delegata gościa w wyrażeniu zredukowanym. Metoda zgłasza wyjątek, jeśli węzeł nie jest reducible. (Odziedziczone po Expression) |