BinaryExpression Třída

Definice

Představuje výraz, který má binární operátor.

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
Dědičnost
BinaryExpression

Příklady

Následující příklad vytvoří BinaryExpression objekt, který představuje odčítání jednoho čísla od druhého.

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

Poznámky

Třída BinaryExpression představuje výraz, který má binární operátor.

Následující tabulky shrnují tovární metody, které lze použít k vytvoření BinaryExpression s konkrétním typem uzlu, reprezentovaným vlastností NodeType. Každá tabulka obsahuje informace pro konkrétní třídu operací, jako jsou aritmetické nebo bitové operace.

Binární aritmetické operace

Typ uzlu Metoda továrny
Add Add
AddChecked AddChecked
Divide Divide
Modulo Modulo
Multiply Multiply
MultiplyChecked MultiplyChecked
Power Power
Subtract Subtract
SubtractChecked SubtractChecked

Bitové operace

Typ uzlu Metoda továrny
And And
Or Or
ExclusiveOr ExclusiveOr

Směnové operace

Typ uzlu Metoda továrny
LeftShift LeftShift
RightShift RightShift

Podmíněné logické operace

Typ uzlu Metoda továrny
AndAlso AndAlso
OrElse OrElse

Operace porovnání

Typ uzlu Metoda továrny
Equal Equal
NotEqual NotEqual
GreaterThanOrEqual GreaterThanOrEqual
GreaterThan GreaterThan
LessThan LessThan
LessThanOrEqual LessThanOrEqual

Operace shodování

Typ uzlu Metoda továrny
Coalesce Coalesce

Operace indexování polí

Typ uzlu Metoda továrny
ArrayIndex ArrayIndex

Kromě toho lze metody MakeBinary použít také k vytvoření BinaryExpression. Tyto tovární metody lze použít k vytvoření BinaryExpression libovolného typu uzlu, který představuje binární operaci. Parametr těchto metod, který je typu NodeType , určuje požadovaný typ uzlu.

Vlastnosti

Name Description
CanReduce

Získá hodnotu, která označuje, zda je možné snížit uzel stromu výrazu.

Conversion

Získá funkci převodu typu, která je používána operací sloučí nebo složené přiřazení.

IsLifted

Získá hodnotu, která označuje, zda uzel stromu výrazu představuje zvedané volání operátoru.

IsLiftedToNull

Získá hodnotu, která označuje, zda stromový uzel výrazu představuje lifted volání operátor, jehož návratový typ je zvednut do typu nullable.

Left

Získá levý operand binární operace.

Method

Získá implementovat metodu binární operace.

NodeType

Získá typ uzlu tohoto Expression.

(Zděděno od Expression)
Right

Získá správný operand binární operace.

Type

Získá statický typ výrazu, který představuje Expression .

(Zděděno od Expression)

Metody

Name Description
Accept(ExpressionVisitor)

Odešle konkrétní metodu návštěvy pro tento typ uzlu. MethodCallExpression Například volá .VisitMethodCall(MethodCallExpression)

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
Reduce()

Zmenší uzel binárního výrazu na jednodušší výraz.

ReduceAndCheck()

Zmenší tento uzel na jednodušší výraz. Pokud CanReduce vrátí hodnotu true, měl by vrátit platný výraz. Tato metoda může vrátit jiný uzel, který se musí snížit.

(Zděděno od Expression)
ReduceExtensions()

Zmenšuje výraz na známý typ uzlu (který není uzel rozšíření), nebo pouze vrátí výraz, pokud je již známým typem.

(Zděděno od Expression)
ToString()

Vrátí textovou reprezentaci Expression.

(Zděděno od Expression)
Update(Expression, LambdaExpression, Expression)

Vytvoří nový výraz, který je podobný tomuto, ale použije zadané podřízené položky. Pokud jsou všechny podřízené položky stejné, vrátí tento výraz.

VisitChildren(ExpressionVisitor)

Zmenší uzel a potom zavolá delegáta návštěvníka na zkrácený výraz. Metoda vyvolá výjimku, pokud uzel není reducible.

(Zděděno od Expression)

Platí pro