Expression.Modulo 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ę arytmetyczną.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Modulo(Expression, Expression) |
Tworzy obiekt BinaryExpression reprezentujący operację arytmetyczną. |
| Modulo(Expression, Expression, MethodInfo) |
Tworzy obiekt BinaryExpression reprezentujący operację arytmetyczną. |
Modulo(Expression, Expression)
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
Tworzy obiekt BinaryExpression reprezentujący operację arytmetyczną.
public:
static System::Linq::Expressions::BinaryExpression ^ Modulo(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression Modulo(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member Modulo : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function Modulo (left As Expression, right As Expression) As BinaryExpression
Parametry
- left
- Expression
Wartość , Expression aby ustawić właściwość równą Left .
- right
- Expression
Wartość , Expression aby ustawić właściwość równą Right .
Zwraca
WłaściwośćBinaryExpression, która ma właściwość równą ModuloNodeType i Left właściwości i Right ustawioną na określone wartości.
Wyjątki
left lub right ma wartość null.
Operator modulu nie jest zdefiniowany dla elementu left. 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 podniesiony, zarówno właściwość IsLifted, jak i właściwość IsLiftedToNull są true. W przeciwnym razie są to false. Właściwość Conversion jest null.
Poniższe informacje opisują metodę implementowania, typ węzła i informację, czy węzeł jest zniesiony.
Implementowanie metody
Następujące reguły określają wybraną metodę implementowania dla operacji:
Type Jeśli właściwość lub
leftrightreprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator modulus, oznacza to, MethodInfo że metoda jest metodą implementowania.W przeciwnym razie, jeśli
left.Type iright.Type są typami liczbowymi, metodą implementacji jestnull.
Typ węzła i podniesiony a nieznoszony
Jeśli metoda implementacji nie jest null:
Jeśli typy
left.Typ iright.Typ można przypisać do odpowiednich typów argumentów metody implementacyjnej, węzeł nie jest podnoszony. 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 jest typem dopuszczalnym wartości null odpowiadającym zwracanym typowi metody implementowania:
left.Typ iright.Typ to oba typy wartości, z których co najmniej jeden może przyjmować wartość null, a odpowiadające im typy nie-null są równe odpowiadającym typom argumentów metody implementującej.Typ zwracany przez metodę implementacji jest niemającym wartości null typem wartościowym.
Jeśli metoda implementowania to null:
Jeśli zarówno
left.Typ, jak iright.Typ są niemające wartości null, węzeł nie zostanie podniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora modulus.Jeśli
left. Typ iright. Typ oba mają wartość null, to węzeł jest podnoszony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku operatora wstępnie zdefiniowanego modulusa.
Dotyczy
Modulo(Expression, Expression, MethodInfo)
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
- Źródło:
- BinaryExpression.cs
Tworzy obiekt BinaryExpression reprezentujący operację arytmetyczną.
public:
static System::Linq::Expressions::BinaryExpression ^ Modulo(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression Modulo(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression Modulo(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member Modulo : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function Modulo (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression
Parametry
- left
- Expression
Wartość , Expression aby ustawić właściwość równą Left .
- right
- Expression
Wartość , 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ą ModuloNodeType , i LeftRight, i 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 voidwartość , nie static jest (Shared w Visual Basic) lub nie bierze dokładnie dwóch argumentów.
method parametr jest null i operator modulu nie jest zdefiniowany dla left. 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 podniesiony, zarówno właściwość IsLifted, jak i właściwość IsLiftedToNull są true. W przeciwnym razie są to false. Właściwość Conversion jest null.
Poniższe informacje opisują metodę implementowania, typ węzła i informację, czy węzeł jest zniesiony.
Implementowanie metody
Metoda implementowania operacji jest wybierana na podstawie następujących reguł:
Jeśli
methodnienulljest i reprezentuje metodę niepustą (staticSharedw Visual Basic), która przyjmuje dwa argumenty, jest to metoda implementowania dla węzła.W przeciwnym razie, jeśli Type właściwość
leftlubrightreprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator modulus, oznacza to, MethodInfo że metoda jest metodą implementowania.W przeciwnym razie, jeśli
left.Type iright.Type są typami liczbowymi, metodą implementacji jestnull.
Typ węzła i podniesiony a nieznoszony
Jeśli metoda implementacji nie jest null:
Jeśli typy
left.Typ iright.Typ można przypisać do odpowiednich typów argumentów metody implementacyjnej, węzeł nie jest podnoszony. 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 jest typem dopuszczalnym wartości null odpowiadającym zwracanym typowi metody implementowania:
left.Typ iright.Typ to oba typy wartości, z których co najmniej jeden może przyjmować wartość null, a odpowiadające im typy nie-null są równe odpowiadającym typom argumentów metody implementującej.Typ zwracany przez metodę implementacji jest niemającym wartości null typem wartościowym.
Jeśli metoda implementowania to null:
Jeśli zarówno
left.Typ, jak iright.Typ są niemające wartości null, węzeł nie zostanie podniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora modulus.Jeśli
left. Typ iright. Typ oba mają wartość null, to węzeł jest podnoszony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku operatora wstępnie zdefiniowanego modulusa.