BinaryExpression Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen Ausdruck dar, der über einen binären Operator verfügt.
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
- Vererbung
Beispiele
Im folgenden Beispiel wird ein BinaryExpression Objekt erstellt, das die Subtraktion einer Zahl aus einer anderen darstellt.
// 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)
Hinweise
Die BinaryExpression Klasse stellt einen Ausdruck dar, der über einen binären Operator verfügt.
In den folgenden Tabellen sind die Factory-Methoden zusammengefasst, die verwendet werden können, um einen BinaryExpression eines bestimmten Knotentyps zu erstellen, der durch die Eigenschaft NodeType dargestellt wird. Jede Tabelle enthält Informationen für eine bestimmte Klasse von Vorgängen wie Arithmetik oder Bitweise.
Binäre arithmetische Vorgänge
| Knotentyp | Factorymethode |
|---|---|
| Add | Add |
| AddChecked | AddChecked |
| Divide | Divide |
| Modulo | Modulo |
| Multiply | Multiply |
| MultiplyChecked | MultiplyChecked |
| Power | Power |
| Subtract | Subtract |
| SubtractChecked | SubtractChecked |
Bitweise Operationen
| Knotentyp | Factorymethode |
|---|---|
| And | And |
| Or | Or |
| ExclusiveOr | ExclusiveOr |
Schichtvorgänge
| Knotentyp | Factorymethode |
|---|---|
| LeftShift | LeftShift |
| RightShift | RightShift |
Bedingte boolesche Vorgänge
| Knotentyp | Factorymethode |
|---|---|
| AndAlso | AndAlso |
| OrElse | OrElse |
Vergleichsvorgänge
| Knotentyp | Factorymethode |
|---|---|
| Equal | Equal |
| NotEqual | NotEqual |
| GreaterThanOrEqual | GreaterThanOrEqual |
| GreaterThan | GreaterThan |
| LessThan | LessThan |
| LessThanOrEqual | LessThanOrEqual |
Zusammenführen von Operationen
| Knotentyp | Factorymethode |
|---|---|
| Coalesce | Coalesce |
Arrayindizierungsvorgänge
| Knotentyp | Factorymethode |
|---|---|
| ArrayIndex | ArrayIndex |
Darüber hinaus können die MakeBinary-Methoden auch dazu verwendet werden, eine BinaryExpression zu erstellen. Diese Factory-Methoden können verwendet werden, um einen BinaryExpression eines beliebigen Knotentyps zu erstellen, der eine binäre Operation darstellt. Der Parameter dieser Methoden, der vom Typ NodeType ist, gibt den gewünschten Knotentyp an.
Eigenschaften
| Name | Beschreibung |
|---|---|
| CanReduce |
Ruft einen Wert ab, der angibt, ob der Ausdrucksstrukturknoten reduziert werden kann. |
| Conversion |
Ruft die Typkonvertierungsfunktion ab, die von einem Zusammen- oder Verbundzuordnungsvorgang verwendet wird. |
| IsLifted |
Ruft einen Wert ab, der angibt, ob der Knoten der Ausdrucksstruktur einen angehobenen Aufruf eines Operators darstellt. |
| IsLiftedToNull |
Ruft einen Wert ab, der angibt, ob der Knoten der Ausdrucksstruktur einen angehobenen Aufruf an einen Operator darstellt, dessen Rückgabetyp auf einen nullfähigen Typ aufgehoben wird. |
| Left |
Ruft den linken Operanden des binären Vorgangs ab. |
| Method |
Ruft die Implementierungsmethode für den binären Vorgang ab. |
| NodeType |
Ruft den Knotentyp dieses Expression. (Geerbt von Expression) |
| Right |
Ruft den richtigen Operanden des binären Vorgangs ab. |
| Type |
Ruft den statischen Typ des Ausdrucks ab, der dies Expression darstellt. (Geerbt von Expression) |
Methoden
| Name | Beschreibung |
|---|---|
| Accept(ExpressionVisitor) |
Verteilt an die spezifische Besuchsmethode für diesen Knotentyp. Ruft z. B. MethodCallExpression die VisitMethodCall(MethodCallExpression). |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| Reduce() |
Reduziert den Binären Ausdrucksknoten auf einen einfacheren Ausdruck. |
| ReduceAndCheck() |
Reduziert diesen Knoten auf einen einfacheren Ausdruck. Wenn CanReduce "true" zurückgibt, sollte dieser einen gültigen Ausdruck zurückgeben. Diese Methode kann einen anderen Knoten zurückgeben, der selbst reduziert werden muss. (Geerbt von Expression) |
| ReduceExtensions() |
Reduziert den Ausdruck auf einen bekannten Knotentyp (der kein Erweiterungsknoten ist) oder gibt nur den Ausdruck zurück, wenn er bereits ein bekannter Typ ist. (Geerbt von Expression) |
| ToString() |
Gibt eine Textdarstellung der Expression. (Geerbt von Expression) |
| Update(Expression, LambdaExpression, Expression) |
Erstellt einen neuen Ausdruck, der wie dieser ist, aber die bereitgestellten untergeordneten Elemente verwenden. Wenn alle untergeordneten Elemente gleich sind, wird dieser Ausdruck zurückgegeben. |
| VisitChildren(ExpressionVisitor) |
Reduziert den Knoten und ruft dann den Besucherdelegat für den reduzierten Ausdruck auf. Die Methode löst eine Ausnahme aus, wenn der Knoten nicht reducierbar ist. (Geerbt von Expression) |