BinaryExpression Klasa

Definicja

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
BinaryExpression

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)

Dotyczy