Expression.Or Metoda

Definicja

Tworzy obiekt BinaryExpression , który reprezentuje operację bitową OR .

Przeciążenia

Or(Expression, Expression)

Tworzy obiekt BinaryExpression , który reprezentuje operację bitową OR .

Or(Expression, Expression, MethodInfo)

Tworzy element reprezentujący operację BinaryExpression bitową OR .

Or(Expression, Expression)

Tworzy obiekt BinaryExpression , który reprezentuje operację bitową OR .

public:
 static System::Linq::Expressions::BinaryExpression ^ Or(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression Or (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member Or : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function Or (left As Expression, right As Expression) As BinaryExpression

Parametry

left
Expression

Element Expression do ustawiania Left właściwości równej.

right
Expression

Element Expression do ustawiania Right właściwości równej.

Zwraca

BinaryExpression

Właściwość BinaryExpression , która ma właściwość równą Or NodeType i Left właściwości i Right ustawione na określone wartości.

Wyjątki

left lub right to null.

Operator bitowy OR nie jest zdefiniowany dla leftelementu . Wpisz i right. Typu.

Przykłady

W poniższym przykładzie kodu pokazano, jak utworzyć wyrażenie reprezentujące operację logiczną OR.

// Add the following directive to your file:
// using System.Linq.Expressions;

// This expression perfroms a logical OR operation
// on its two arguments. Both arguments must be of the same type,
// which can be boolean or integer.
Expression orExpr = Expression.Or(
    Expression.Constant(true),
    Expression.Constant(false)
);

// Print out the expression.
Console.WriteLine(orExpr.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<bool>>(orExpr).Compile()());

// This code example produces the following output:
//
// (True Or False)
// True
' Add the following directive to your file:
' Imports System.Linq.Expressions  

' This expression perfroms a logical OR operation
' on its two arguments. Both arguments must be of the same type,
' which can be Boolean or integer.             
Dim orExpr As Expression = Expression.Or(
     Expression.Constant(True),
     Expression.Constant(False)
 )

' Print the expression.
Console.WriteLine(orExpr.ToString())

' The following statement first creates an expression tree,
' then compiles it, and then executes it.       
Console.WriteLine(Expression.Lambda(Of Func(Of Boolean))(orExpr).Compile()())

' This code example produces the following output:
'
' (True Or False)
' True

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 lub right reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator bitowyOR, oznacza to, MethodInfo że metoda jest metodą implementowania.

  • W przeciwnym razie, jeśli left. Wpisz i right. Typ to typy całkowite lub logiczne, a metoda implementowania to null.

Typ węzła oraz węzły podniesione i niepodniesione

Jeśli metoda implementowania nie nulljest :

  • Jeśli left. Wpisz i right. 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 i right. Typ to oba typy wartości, których co najmniej jeden jest dopuszczany do wartości null, a odpowiadające im 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:

  • Jeśli left. Wpisz i right. Typ jest niezwiązany z wartością null, węzeł nie jest zniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora bitowego OR .

  • Jeśli left. Wpisz i right. Typ jest możliwy zarówno do wartości null, jak i węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku wstępnie zdefiniowanego operatora bitowego OR .

Dotyczy

Or(Expression, Expression, MethodInfo)

Tworzy element reprezentujący operację BinaryExpression bitową OR .

public:
 static System::Linq::Expressions::BinaryExpression ^ Or(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression Or (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression Or (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member Or : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function Or (left As Expression, right As Expression, 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 .

method
MethodInfo

A MethodInfo , aby ustawić właściwość równą Method .

Zwraca

BinaryExpression

WłaściwośćBinaryExpression, która ma właściwość równą Or NodeType wartościom , i LeftRight, i Method ustawioną na określone wartości.

Wyjątki

left lub right to null.

methodnie null jest i metoda, która reprezentuje zwraca voidwartość , nie static jest (Shared w Visual Basic) lub nie bierze dokładnie dwóch argumentów.

method jest null i operator bitowy OR nie jest zdefiniowany dla leftelementu . 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ści i IsLiftedToNull są oba true. W przeciwnym razie są to false. Właściwość Conversion to null.

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 nie null 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ść lub left right reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator bitowy OR , oznacza to, MethodInfo że metoda jest metodą implementowania.

  • W przeciwnym razie, jeśli left. Wpisz i right. Typ to typy całkowite lub logiczne, metoda implementowania to null.

Typ węzła oraz węzły podniesione i niepodniesione

Jeśli metoda implementowania nie nulljest :

  • Jeśli left. Wpisz i right. 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 typ dopuszczający wartość null odpowiadający typowi zwracanej metody implementowania:

    • left. Wpisz i right. 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 jest typem wartości bez wartości null.

Jeśli metoda implementowania to null:

  • Jeśli left. Wpisz i right. Typ jest niezwiązany z wartością null, węzeł nie jest zniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora bitowego OR .

  • Jeśli left. Wpisz i right. Typ jest możliwy zarówno do wartości null, jak i węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku wstępnie zdefiniowanego operatora bitowego OR .

Dotyczy