# Expression.Modulo 方法

## 多載

 Modulo(Expression, Expression) 建立代表算術餘數運算的 BinaryExpression。Creates a BinaryExpression that represents an arithmetic remainder operation. Modulo(Expression, Expression, MethodInfo) 建立代表算術餘數運算的 BinaryExpression。Creates a BinaryExpression that represents an arithmetic remainder operation.

## Modulo(Expression, Expression)

``````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``

left
Expression

right
Expression

#### 傳回

BinaryExpression

BinaryExpression，其 NodeType 屬性等於 Modulo，且 LeftRight 屬性設定為指定的值。A BinaryExpression that has the NodeType property equal to Modulo and the Left and Right properties set to the specified values.

#### 例外狀況

`left``right``null``left` or `right` is `null`.

### 備註

#### 實方法Implementing Method

• 如果 Type 或的屬性代表多載 `left` `right` 模數運算子的使用者定義型別， MethodInfo 表示該方法的會是實方法。If the Type property of either `left` or `right` represents a user-defined type that overloads the modulus operator, the MethodInfo that represents that method is the implementing method.

• 否則為 `left` 。輸入和 `right` 。類型為數數值型別，實方法為 `null`Otherwise, if `left`.Type and `right`.Type are numeric types, the implementing method is `null`.

#### 節點類型和提升與未提升Node Type and Lifted versus Non-Lifted

• 如果為，則為 `left` 。輸入和 `right` 。類型可指派給實方法的對應引數類型，而不會引發節點。If `left`.Type and `right`.Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. 節點的型別是實方法的傳回型別。The type of the node is the return type of the implementing method.

• 如果符合下列兩個條件，節點就會被提升，而節點的類型會是可為 null 的型別，該型別會對應至實方法的傳回型別：If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method:

• `left`.輸入和 `right` 。類型是數值型別，其中至少有一個可為 null，而對應的不可為 null 的類型等於實方法的對應引數類型。`left`.Type and `right`.Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method.

• 實方法的傳回型別是不可為 null 的實值型別。The return type of the implementing method is a non-nullable value type.

• 如果為，則為 `left` 。輸入和 `right` 。類型不可為 null，節點不會被提升。If `left`.Type and `right`.Type are both non-nullable, the node is not lifted. 節點的型別是預先定義之模數運算子的結果型別。The type of the node is the result type of the predefined modulus operator.

• 如果為，則為 `left` 。輸入和 `right` 。型別可以是可為 null，而是會提升節點。If `left`.Type and `right`.Type are both nullable, the node is lifted. 節點的型別是可為 null 的型別，它會對應到預先定義之模數運算子的結果型別。The type of the node is the nullable type that corresponds to the result type of the predefined modulus operator.

## Modulo(Expression, Expression, MethodInfo)

``````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``

left
Expression

right
Expression

method
MethodInfo

#### 傳回

BinaryExpression

BinaryExpression，其 NodeType 屬性等於 Modulo，且 LeftRightMethod 屬性設定為指定的值。A BinaryExpression that has the NodeType property equal to Modulo and the Left, Right, and Method properties set to the specified values.

#### 例外狀況

`left``right``null``left` or `right` is `null`.

`method` 不是 `null`，而它所代表的方法會傳回 `void`、不是 `static` (Visual Basic 中的 `Shared`)，或者未確切採用兩個引數。`method` is not `null` and the method it represents returns `void`, is not `static` (`Shared` in Visual Basic), or does not take exactly two arguments.

`method``null`，且未針對 `left`.Type 和 `right`.Type 定義模數運算子。`method` is `null` and the modulus operator is not defined for `left`.Type and `right`.Type.

### 備註

#### 實方法Implementing Method

• 如果不 `method` 是， `null` 而它代表非 void，則 `static` `Shared` 在採用兩個引數的 Visual Basic) 方法中 (，它就是節點的實作為方法。If `method` is not `null` and it represents a non-void, `static` (`Shared` in Visual Basic) method that takes two arguments, it is the implementing method for the node.

• 否則，如果 Type 或的屬性代表多載 `left` `right` 模數運算子的使用者定義型別， MethodInfo 表示該方法的會是實方法。Otherwise, if the Type property of either `left` or `right` represents a user-defined type that overloads the modulus operator, the MethodInfo that represents that method is the implementing method.

• 否則為 `left` 。輸入和 `right` 。類型為數數值型別，實方法為 `null`Otherwise, if `left`.Type and `right`.Type are numeric types, the implementing method is `null`.

#### 節點類型和提升與未提升Node Type and Lifted versus Non-Lifted

• 如果為，則為 `left` 。輸入和 `right` 。類型可指派給實方法的對應引數類型，而不會引發節點。If `left`.Type and `right`.Type are assignable to the corresponding argument types of the implementing method, the node is not lifted. 節點的型別是實方法的傳回型別。The type of the node is the return type of the implementing method.

• 如果符合下列兩個條件，節點就會被提升，而節點的類型會是可為 null 的型別，該型別會對應至實方法的傳回型別：If the following two conditions are satisfied, the node is lifted and the type of the node is the nullable type that corresponds to the return type of the implementing method:

• `left`.輸入和 `right` 。類型是數值型別，其中至少有一個可為 null，而對應的不可為 null 的類型等於實方法的對應引數類型。`left`.Type and `right`.Type are both value types of which at least one is nullable and the corresponding non-nullable types are equal to the corresponding argument types of the implementing method.

• 實方法的傳回型別是不可為 null 的實值型別。The return type of the implementing method is a non-nullable value type.

• 如果為，則為 `left` 。輸入和 `right` 。類型不可為 null，節點不會被提升。If `left`.Type and `right`.Type are both non-nullable, the node is not lifted. 節點的型別是預先定義之模數運算子的結果型別。The type of the node is the result type of the predefined modulus operator.

• 如果為，則為 `left` 。輸入和 `right` 。型別可以是可為 null，而是會提升節點。If `left`.Type and `right`.Type are both nullable, the node is lifted. 節點的型別是可為 null 的型別，它會對應到預先定義之模數運算子的結果型別。The type of the node is the nullable type that corresponds to the result type of the predefined modulus operator.