BinaryExpression Sınıf

Tanım

İkili işleci olan bir ifadeyi temsil eder.

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
Devralma
BinaryExpression

Örnekler

Aşağıdaki örnek, bir sayının diğerinden çıkarıldığını temsil eden bir BinaryExpression nesne oluşturur.

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

Açıklamalar

sınıfı, BinaryExpression ikili işleci olan bir ifadeyi temsil eder.

Aşağıdaki tablolarda, özelliğiyle BinaryExpression temsil edilen belirli bir düğüm türüne sahip bir NodeType oluşturmak için kullanılabilecek fabrika yöntemleri özetlenmiştir. Her tablo, aritmetik veya bit düzeyinde gibi belirli bir işlem sınıfına ilişkin bilgiler içerir.

İkili aritmetik işlemler

Düğüm Türü Fabrika Yöntemi
Add Add
AddChecked AddChecked
Divide Divide
Modulo Modulo
Multiply Multiply
MultiplyChecked MultiplyChecked
Power Power
Subtract Subtract
SubtractChecked SubtractChecked

Bit düzeyinde işlemler

Düğüm Türü Fabrika Yöntemi
And And
Or Or
ExclusiveOr ExclusiveOr

Shift işlemleri

Düğüm Türü Fabrika Yöntemi
LeftShift LeftShift
RightShift RightShift

Koşullu Boole işlemleri

Düğüm Türü Fabrika Yöntemi
AndAlso AndAlso
OrElse OrElse

Karşılaştırma işlemleri

Düğüm Türü Fabrika Yöntemi
Equal Equal
NotEqual NotEqual
GreaterThanOrEqual GreaterThanOrEqual
GreaterThan GreaterThan
LessThan LessThan
LessThanOrEqual LessThanOrEqual

Birleştirme işlemleri

Düğüm Türü Fabrika Yöntemi
Coalesce Coalesce

Dizi dizin oluşturma işlemleri

Düğüm Türü Fabrika Yöntemi
ArrayIndex ArrayIndex

Ayrıca, MakeBinary yöntemleri bir BinaryExpressionoluşturmak için de kullanılabilir. Bu fabrika yöntemleri, ikili işlem temsil eden herhangi bir düğüm türünden bir BinaryExpression oluşturmak için kullanılabilir. Bu yöntemlerin türündeki NodeType parametresi, istenen düğüm türünü belirtir.

Özellikler

Name Description
CanReduce

İfade ağacı düğümünü azaltılıp azaltılamayacağını gösteren bir değer alır.

Conversion

Birleştirme veya bileşik atama işlemi tarafından kullanılan tür dönüştürme işlevini alır.

IsLifted

İfade ağacı düğümünün bir işleç için yükseltilmiş çağrıyı temsil edip etmediğini gösteren bir değer alır.

IsLiftedToNull

İfade ağacı düğümünün, dönüş türü null atanabilir bir türe kaldırılmış bir işleç için kaldırılmış çağrıyı temsil edip etmediğini gösteren bir değer alır.

Left

İkili işlemin sol işlenenini alır.

Method

İkili işlem için uygulama yöntemini alır.

NodeType

Bu Expressiondüğüm türünü alır.

(Devralındığı yer: Expression)
Right

İkili işlemin doğru işlenenini alır.

Type

Bu Expression temsil ettiği ifadenin statik türünü alır.

(Devralındığı yer: Expression)

Yöntemler

Name Description
Accept(ExpressionVisitor)

Bu düğüm türü için belirli bir ziyaret yöntemine gönderilir. Örneğin, MethodCallExpressionVisitMethodCall(MethodCallExpression)çağırır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Reduce()

İkili ifade düğümünü daha basit bir ifadeye küçültür.

ReduceAndCheck()

Bu düğümü daha basit bir ifadeye küçültür. CanReduce true döndürürse, bu geçerli bir ifade döndürmelidir. Bu yöntem, azaltması gereken başka bir düğüm döndürebilir.

(Devralındığı yer: Expression)
ReduceExtensions()

İfadeyi bilinen bir düğüm türüne (Uzantı düğümü değildir) küçültür veya zaten bilinen bir türse yalnızca ifadeyi döndürür.

(Devralındığı yer: Expression)
ToString()

Expressionmetinsel gösterimini döndürür.

(Devralındığı yer: Expression)
Update(Expression, LambdaExpression, Expression)

Bunun gibi, ancak sağlanan alt öğeleri kullanarak yeni bir ifade oluşturur. Tüm alt öğeler aynıysa, bu ifadeyi döndürür.

VisitChildren(ExpressionVisitor)

Düğümü azaltır ve ardından azaltılmış ifadede ziyaretçi temsilcisini çağırır. Yöntem, düğüm azaltılabilir değilse bir özel durum oluşturur.

(Devralındığı yer: Expression)

Şunlara uygulanır