Expression.Equal Metoda
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.
Tworzy element BinaryExpression reprezentujący porównanie równości.
Przeciążenia
Equal(Expression, Expression) |
Tworzy element BinaryExpression reprezentujący porównanie równości. |
Equal(Expression, Expression, Boolean, MethodInfo) |
Tworzy element BinaryExpression reprezentujący porównanie równości. Można określić metodę implementowania. |
Equal(Expression, Expression)
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
Tworzy element BinaryExpression reprezentujący porównanie równości.
public:
static System::Linq::Expressions::BinaryExpression ^ Equal(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression Equal (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member Equal : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function Equal (left As Expression, right As Expression) As BinaryExpression
Parametry
- left
- Expression
Element , Expression aby ustawić właściwość równą Left .
- right
- Expression
Element , Expression aby ustawić właściwość równą Right .
Zwraca
WłaściwośćBinaryExpression, która ma właściwość równą EqualNodeType właściwości i i RightLeft ustawioną na określone wartości.
Wyjątki
left
lub right
to null
.
Operator równości nie jest zdefiniowany dla left
elementu . Wpisz i right
. Typu.
Przykłady
Poniższy przykład kodu pokazuje, jak utworzyć wyrażenie, które sprawdza, czy wartości jego dwóch argumentów są równe.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression compares the values of its two arguments.
// Both arguments need to be of the same type.
Expression equalExpr = Expression.Equal(
Expression.Constant(42),
Expression.Constant(45)
);
// Print out the expression.
Console.WriteLine(equalExpr.ToString());
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(
Expression.Lambda<Func<bool>>(equalExpr).Compile()());
// This code example produces the following output:
//
// (42 == 45)
// False
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression compares the values of its two arguments.
' Both arguments must be of the same type.
Dim equalExpr As Expression = Expression.Equal(
Expression.Constant(42),
Expression.Constant(45)
)
' Print the expression.
Console.WriteLine(equalExpr.ToString())
' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(
Expression.Lambda(Of Func(Of Boolean))(equalExpr).Compile()())
' This code example produces the following output:
'
' (42 == 45)
' False
Uwagi
BinaryExpression Wynik ma właściwość ustawioną Method na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwość to true
. W przeciwnym razie jest false
to . Właściwość IsLiftedToNull jest zawsze false
. Poniższe informacje opisują metodę implementowania, typ węzła i to, czy węzeł został zniesiony.
Metoda implementująca
Następujące reguły określają metodę implementowania operacji:
Type Jeśli właściwość lub
left
right
reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operatora równości, oznacza to, MethodInfo że metoda jest metodą implementowania.W przeciwnym razie metoda implementowania to
null
.
Typ węzła oraz węzły podniesione i niepodniesione
Jeśli metoda implementowania nie null
jest :
Jeśli
left
. Wpisz iright
. Typ można przypisać do odpowiednich typów argumentów metody implementowania, węzeł nie jest zniesiony. Typ węzła to zwracany typ metody implementowania.Jeśli spełnione są następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła to Boolean:
left
. Wpisz iright
. Typ to oba typy wartości, z których co najmniej jeden ma wartość null, a odpowiadające im typy niepuste są równe odpowiadającym typom argumentów metody implementowania.Zwracany typ metody implementowania to Boolean.
Jeśli metoda implementowania to null
:
Jeśli
left
. Wpisz iright
. Typ jest niezwiązany z wartością null, węzeł nie jest zniesiony. Typ węzła to Boolean.Jeśli
left
. Wpisz iright
. Typ jest możliwy zarówno do wartości null, jak i węzeł zostanie zniesiony. Typ węzła to Boolean.
Dotyczy
Equal(Expression, Expression, Boolean, MethodInfo)
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
Tworzy element BinaryExpression reprezentujący porównanie równości. Można określić metodę implementowania.
public:
static System::Linq::Expressions::BinaryExpression ^ Equal(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, bool liftToNull, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression Equal (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, bool liftToNull, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression Equal (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, bool liftToNull, System.Reflection.MethodInfo? method);
static member Equal : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * bool * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function Equal (left As Expression, right As Expression, liftToNull As Boolean, method As MethodInfo) As BinaryExpression
Parametry
- left
- Expression
Element , Expression aby ustawić właściwość równą Left .
- right
- Expression
Element , Expression aby ustawić właściwość równą Right .
- liftToNull
- Boolean
true
aby ustawić IsLiftedToNull wartość na ; false
aby ustawić IsLiftedToNull wartość false
true
.
- method
- MethodInfo
A MethodInfo , aby ustawić właściwość równą Method .
Zwraca
WłaściwośćBinaryExpression, która ma właściwość równą EqualNodeType i LeftRight, , IsLiftedToNulli właściwości Method ustawione na określone wartości.
Wyjątki
left
lub right
to null
.
method
nie null
jest i metoda, która reprezentuje zwraca void
wartość , nie static
jest (Shared
w Visual Basic) lub nie bierze dokładnie dwóch argumentów.
method
jest null
i operator równości nie jest zdefiniowany dla left
elementu . Wpisz i right
. Typu.
Uwagi
BinaryExpression Wynik ma właściwość ustawioną Method na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwość to true
, a IsLiftedToNull właściwość jest równa liftToNull
. W przeciwnym razie są one oba false
. Poniższe informacje opisują metodę implementowania, typ węzła i to, czy węzeł został zniesiony.
Metoda implementująca
Następujące reguły określają metodę implementowania operacji:
Jeśli
method
nienull
jest i reprezentuje metodę niepustą (static
Shared
w Visual Basic), która przyjmuje dwa argumenty, jest to metoda implementowania.W przeciwnym razie, jeśli Type właściwość elementu
left
lubright
reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator równości, oznacza to, MethodInfo że metoda jest metodą implementowania.W przeciwnym razie metoda implementowania to
null
.
Typ węzła oraz węzły podniesione i niepodniesione
Jeśli metoda implementowania nie null
jest :
Jeśli
left
. Wpisz iright
. Typ można przypisać do odpowiednich typów argumentów metody implementowania, węzeł nie jest zniesiony. Typ węzła to zwracany typ metody implementowania.Jeśli spełnione są następujące dwa warunki, węzeł zostanie zniesiony; ponadto typ węzła ma Boolean wartość null, jeśli
liftToNull
jesttrue
lub Boolean maliftToNull
wartośćfalse
:left
. Wpisz iright
. Typ to oba typy wartości, z których co najmniej jeden ma wartość null, a odpowiadające im typy niepuste są równe odpowiadającym typom argumentów metody implementowania.Zwracany typ metody implementowania to Boolean.
Jeśli metoda implementowania to null
:
Jeśli
left
. Wpisz iright
. Typ jest niezwiązany z wartością null, węzeł nie jest zniesiony. Typ węzła to Boolean.Jeśli
left
. Wpisz iright
. Typ jest możliwy zarówno do wartości null, jak i węzeł zostanie zniesiony. Typ węzła ma Boolean wartość null, jeśliliftToNull
jest lubtrue
Boolean maliftToNull
wartośćfalse
.