Expression.AndAlso 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 obiekt BinaryExpression reprezentujący operację warunkową AND
, która oblicza drugi operand tylko wtedy, gdy pierwszy operand daje w wyniku wartość true
.
Przeciążenia
AndAlso(Expression, Expression, MethodInfo) |
Tworzy obiekt BinaryExpression reprezentujący operację warunkową |
AndAlso(Expression, Expression) |
Tworzy obiekt BinaryExpression reprezentujący operację warunkową |
AndAlso(Expression, Expression, MethodInfo)
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
Tworzy obiekt BinaryExpression reprezentujący operację warunkową AND
, która oblicza drugi operand tylko wtedy, gdy pierwszy operand jest rozpoznawany jako true. Można określić metodę implementowania.
public:
static System::Linq::Expressions::BinaryExpression ^ AndAlso(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression AndAlso (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression AndAlso (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member AndAlso : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function AndAlso (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression
Parametry
- left
- Expression
A Expression , aby ustawić właściwość równą Left .
- right
- Expression
A Expression , aby ustawić właściwość równą Right .
- 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ą AndAlsoNodeType i Left, Righti właściwości Method ustawione na określone wartości.
Wyjątki
left
lub right
ma wartość 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
to null
i operator bitowy AND
nie jest zdefiniowany dla . left
Wpisz i right
. Typu.
-lub-
method
to null
i left
. Wpisz i right
. Typ nie jest tym samym typem logicznym.
Uwagi
BinaryExpression Wynikowy Method obiekt ma właściwość ustawioną na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwości i IsLiftedToNull to true
. W przeciwnym razie są to false
. Właściwość Conversion to null
.
Poniższe informacje opisują metodę implementowania, typ węzła i informację o tym, czy węzeł został zniesiony.
Metoda implementująca
Metoda implementowania operacji jest wybierana na podstawie następujących reguł:
Jeśli
method
nienull
jest i reprezentuje metodę niepustą (static
Shared
w Visual Basic), która przyjmuje dwa argumenty, jest to metoda implementowania węzła.W przeciwnym razie, jeśli właściwość lub reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator bitowy
AND
, oznacza to, MethodInfo że metoda jest metodą implementowania.right
left
TypeUwaga
Operator warunkowy
AND
nie może być przeciążony w języku C# lub Visual Basic. Operator warunkowyAND
jest jednak oceniany przy użyciu operatora bitowegoAND
. W związku z tym przeciążenie zdefiniowane przez użytkownika operatora bitowegoAND
może być metodą implementowania dla tego typu węzła.W przeciwnym razie, jeśli
left
. Wpisz iright
. Typ to typy logiczne, a metoda implementowania tonull
.
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 zostanie zniesiony. Typem węzła jest zwracany typ metody implementowania.Jeśli zostaną spełnione następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła jest typem dopuszczalnym do wartości null, który odpowiada zwracanemu typowi metody implementowania:
left
. Wpisz iright
. Typ to oba typy wartości, których co najmniej jeden ma wartość null, a odpowiadające typy niepuste są równe odpowiadającym typom argumentów metody implementowania.Zwracany typ metody implementowania jest typem wartości innej niż null.
Jeśli metoda implementowania to null
:
left
. Wpisz iright
. Typ jest tym samym typem logicznym.Jeśli
left
. Wpisz iright
. Typ nie może zawierać wartości null, a węzeł nie zostanie zniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora warunkowegoAND
.Jeśli
left
. Wpisz iright
. Typ jest dopuszczany do wartości null. Węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku wstępnie zdefiniowanego operatora warunkowegoAND
.
Dotyczy
AndAlso(Expression, Expression)
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
Tworzy obiekt BinaryExpression reprezentujący operację warunkową AND
, która oblicza drugi operand tylko wtedy, gdy pierwszy operand daje w wyniku wartość true
.
public:
static System::Linq::Expressions::BinaryExpression ^ AndAlso(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression AndAlso (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member AndAlso : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function AndAlso (left As Expression, right As Expression) As BinaryExpression
Parametry
- left
- Expression
A Expression , aby ustawić właściwość równą Left .
- right
- Expression
A Expression , aby ustawić właściwość równą Right .
Zwraca
Właściwość BinaryExpression , która ma właściwość równą AndAlsoNodeType i Left właściwości i Right ustawione na określone wartości.
Wyjątki
left
lub right
ma wartość null
.
Operator bitowy AND
nie jest zdefiniowany dla elementu left
. Wpisz i right
. Typu.
-lub-
left
. Wpisz i right
. Typ nie jest tym samym typem logicznym.
Przykłady
Poniższy przykład kodu pokazuje, jak utworzyć wyrażenie, które wykonuje operację logiczną AND na dwóch operandach tylko wtedy, gdy pierwszy operand daje w wyniku wartość true
.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression perfroms a logical AND operation
// on its two arguments, but if the first argument is false,
// then the second arument is not evaluated.
// Both arguments must be of the boolean type.
Expression andAlsoExpr = Expression.AndAlso(
Expression.Constant(false),
Expression.Constant(true)
);
// Print out the expression.
Console.WriteLine(andAlsoExpr.ToString());
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<bool>>(andAlsoExpr).Compile()());
// This code example produces the following output:
//
// (False AndAlso True)
// False
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression performs a logical AND operation
' on its two arguments, but if the first argument is false,
' the second argument is not evaluated.
' Both arguments must be of the Boolean type.
Dim andAlsoExpr As Expression = Expression.AndAlso(
Expression.Constant(False),
Expression.Constant(True)
)
' Print the expression.
Console.WriteLine(andAlsoExpr.ToString())
' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda(Of Func(Of Boolean))(andAlsoExpr).Compile()())
' This code example produces the following output:
'
' (False AndAlso True)
' False
Uwagi
BinaryExpression Wynikowy Method obiekt ma właściwość ustawioną na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwości i IsLiftedToNull to true
. W przeciwnym razie są to false
. Właściwość Conversion to null
.
Poniższe informacje opisują metodę implementowania, typ węzła i informację o tym, czy węzeł został zniesiony.
Metoda implementująca
Następujące reguły określają metodę implementowania dla operacji:
Type Jeśli właściwość
left
lubright
reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator bitowyAND
, oznacza to, MethodInfo że metoda jest metodą implementowania.Uwaga
Operator warunkowy
AND
nie może być przeciążony w języku C# lub Visual Basic. Operator warunkowyAND
jest jednak oceniany przy użyciu operatora bitowegoAND
. W związku z tym przeciążenie zdefiniowane przez użytkownika operatora bitowegoAND
może być metodą implementowania dla tego typu węzła.W przeciwnym razie, jeśli
left
. Wpisz iright
. Typ to typy logiczne, a metoda implementowania tonull
.
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 zostanie zniesiony. Typem węzła jest zwracany typ metody implementowania.Jeśli zostaną spełnione następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła jest typem dopuszczalnym do wartości null, który odpowiada zwracanemu typowi metody implementowania:
left
. Wpisz iright
. Typ to oba typy wartości, których co najmniej jeden ma wartość null, a odpowiadające typy niepuste są równe odpowiadającym typom argumentów metody implementowania.Zwracany typ metody implementowania jest typem wartości innej niż null.
Jeśli metoda implementowania to null
:
left
. Wpisz iright
. Typ jest tym samym typem logicznym.Jeśli
left
. Wpisz iright
. Typ nie może zawierać wartości null, a węzeł nie zostanie zniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora warunkowegoAND
.Jeśli
left
. Wpisz iright
. Typ jest dopuszczany do wartości null. Węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku wstępnie zdefiniowanego operatora warunkowegoAND
.