Expression.Modulo Metódus

Definíció

Létrehoz egy BinaryExpression aritmetikai fennmaradó műveletet képviselő műveletet.

Túlterhelések

Name Description
Modulo(Expression, Expression)

Létrehoz egy BinaryExpression aritmetikai fennmaradó műveletet képviselő műveletet.

Modulo(Expression, Expression, MethodInfo)

Létrehoz egy BinaryExpression aritmetikai fennmaradó műveletet képviselő műveletet.

Modulo(Expression, Expression)

Létrehoz egy BinaryExpression aritmetikai fennmaradó műveletet képviselő műveletet.

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

Paraméterek

left
Expression

Egy Expression a tulajdonság egyenlő értékének beállításához Left .

right
Expression

Egy Expression a tulajdonság egyenlő értékének beállításához Right .

Válaszok

Az BinaryExpression a tulajdonság, amelynek a NodeType tulajdonsága megegyezikModulo, és Right a Left tulajdonságok a megadott értékekre vannak állítva.

Kivételek

left vagy right az null.

A modulus operátor nincs definiálva a következőhöz left: . Írja be és right. Típus.

Megjegyzések

Az eredményként kapott BinaryExpression tulajdonság a Method implementálási módszerre van állítva. A Type tulajdonság a csomópont típusára van állítva. Ha a csomópont felemelkedik, a IsLifted és IsLiftedToNull tulajdonságok egyaránt true. Ellenkező esetben azok.false A Conversion tulajdonság null.

Az alábbi információk a implementálási módszert, a csomópont típusát és a csomópontok feloldását ismertetik.

Implementálási módszer

A művelethez a következő szabályok határozzák meg a kiválasztott implementálási módszert:

  • Ha a Type modulus operátort túlterhelő, felhasználó által definiált típus tulajdonsága left vagy right tulajdonsága, akkor az MethodInfo a metódus a implementálási módszer.

  • Ellenkező esetben, ha left. Típus és right. Típus numerikus típusok, az implementálási módszer pedig null.

Csomópont típusa és emelt és nem emelt

Ha a végrehajtási módszer nem null:

  • Ha left. Típus és right. Típus hozzárendelhetőek az implementáló módszer megfelelő argumentumtípusaihoz, a csomópont nem kerül feloldásra. A csomópont típusa a implementálási módszer visszatérési típusa.

  • Ha a következő két feltétel teljesül, a csomópontot a rendszer feloldja, és a csomópont típusa az a null értékű típus, amely megfelel a implementálási módszer visszatérési típusának:

    • left.Típus és right.Típus egyaránt olyan értéktípus, amelyek közül legalább az egyik nullable, és a megfelelő nem null értékű típusok megegyeznek az implementáló metódus megfelelő argumentumtípusaival.

    • Az implementáló metódus visszatérési típusa egy nem-null értékkel rendelkező értéktípus.

Ha a implementálási módszer a következő null:

  • Ha left.Típus és right.Típus mindkettő nem null értékű, a csomópont nincs megemelve. A csomópont típusa az előre definiált modulus operátor eredménytípusa.

  • Ha left. Type és right. type mindkettő nullable típus, a csomópont fel van emelve. A csomópont típusa az előre definiált modulus operátor eredménytípusának megfelelő null értékű típus.

A következőre érvényes:

Modulo(Expression, Expression, MethodInfo)

Létrehoz egy BinaryExpression aritmetikai fennmaradó műveletet képviselő műveletet.

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

Paraméterek

left
Expression

Egy Expression a tulajdonság egyenlő értékének beállításához Left .

right
Expression

Egy Expression a tulajdonság egyenlő értékének beállításához Right .

method
MethodInfo

A MethodInfo érték a Method tulajdonság egyenlő értékének beállításához.

Válaszok

Az BinaryExpression a tulajdonság, amelynek NodeType a tulajdonsága megegyezik Modulo , és a Left, Rightés Method a tulajdonságok a megadott értékekre vannak állítva.

Kivételek

left vagy right az null.

method nem null és az általa képviselt metódus void, nem static (Shared Visual Basic), vagy nem vesz fel pontosan két argumentumot.

method és null a modulus operátor nincs definiálva a következőhöz left: . Írja be és right. Típus.

Megjegyzések

Az eredményként kapott BinaryExpression tulajdonság a Method implementálási módszerre van állítva. A Type tulajdonság a csomópont típusára van állítva. Ha a csomópont felemelkedik, a IsLifted és IsLiftedToNull tulajdonságok egyaránt true. Ellenkező esetben azok.false A Conversion tulajdonság null.

Az alábbi információk a implementálási módszert, a csomópont típusát és a csomópontok feloldását ismertetik.

Implementálási módszer

A művelet implementálási módszerét a következő szabályok alapján választjuk ki:

  • Ha method nem null, és nem üres, static (Shared Visual Basic) metódust jelöl, amely két argumentumot vesz fel, akkor ez a csomópont implementálási módszere.

  • Ellenkező esetben, ha a Type modulus operátort túlterhelő, felhasználó által definiált típus tulajdonsága left vagy right tulajdonsága, akkor az MethodInfo a metódus a implementálási módszer.

  • Ellenkező esetben, ha left. Típus és right. Típus numerikus típusok, az implementálási módszer pedig null.

Csomópont típusa és emelt és nem emelt

Ha a végrehajtási módszer nem null:

  • Ha left. Típus és right. Típus hozzárendelhetőek az implementáló módszer megfelelő argumentumtípusaihoz, a csomópont nem kerül feloldásra. A csomópont típusa a implementálási módszer visszatérési típusa.

  • Ha a következő két feltétel teljesül, a csomópontot a rendszer feloldja, és a csomópont típusa az a null értékű típus, amely megfelel a implementálási módszer visszatérési típusának:

    • left.Típus és right.Típus egyaránt olyan értéktípus, amelyek közül legalább az egyik nullable, és a megfelelő nem null értékű típusok megegyeznek az implementáló metódus megfelelő argumentumtípusaival.

    • Az implementáló metódus visszatérési típusa egy nem-null értékkel rendelkező értéktípus.

Ha a implementálási módszer a következő null:

  • Ha left.Típus és right.Típus mindkettő nem null értékű, a csomópont nincs megemelve. A csomópont típusa az előre definiált modulus operátor eredménytípusa.

  • Ha left. Type és right. type mindkettő nullable típus, a csomópont fel van emelve. A csomópont típusa az előre definiált modulus operátor eredménytípusának megfelelő null értékű típus.

A következőre érvényes: