次の方法で共有


Expression.Modulo メソッド

定義

算術剰余演算を表す BinaryExpression を作成します。

オーバーロード

名前 説明
Modulo(Expression, Expression)

算術剰余演算を表す BinaryExpression を作成します。

Modulo(Expression, Expression, MethodInfo)

算術剰余演算を表す BinaryExpression を作成します。

Modulo(Expression, Expression)

ソース:
BinaryExpression.cs
ソース:
BinaryExpression.cs
ソース:
BinaryExpression.cs
ソース:
BinaryExpression.cs
ソース:
BinaryExpression.cs

算術剰余演算を表す BinaryExpression を作成します。

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

Left プロパティを等しい値に設定するExpression

right
Expression

Right プロパティを等しい値に設定するExpression

戻り値

NodeType プロパティが Modulo と等しく、LeftプロパティとRightプロパティが指定した値に設定されているBinaryExpression

例外

left または rightnull

剰余演算子は、 leftに対して定義されていません。型と right。型。

注釈

結果の BinaryExpression には、 Method プロパティが実装メソッドに設定されています。 Type プロパティは、ノードの型に設定されます。 ノードがリフトされると、 IsLifted プロパティと IsLiftedToNull プロパティの両方が trueされます。 それ以外の場合は、 falseConversion プロパティはnull

次の情報では、実装メソッド、ノードの種類、およびノードがリフトされるかどうかについて説明します。

メソッドの実装

次の規則によって、選択した操作の実装方法が決まります。

  • leftまたはrightのいずれかのTypeプロパティが、剰余演算子をオーバーロードするユーザー定義型を表す場合、そのメソッドを表すMethodInfoは実装メソッドです。

  • それ以外の場合、もしleft.Type と right.Type が数値型の場合、実装メソッドは null です。

ノードの種類とリフトされたノードと非リフト

実装メソッドが nullされていない場合:

  • left.Typeとright.Typeが実装メソッドの対応する引数型に割り当て可能な場合、ノードは持ち上げられません。 ノードの型は、実装メソッドの戻り値の型です。

  • 次の 2 つの条件が満たされている場合、ノードはリフトされ、ノードの型は実装メソッドの戻り値の型に対応する null 許容型です。

    • left.型と right。型は両方とも、少なくとも 1 つが null 許容であり、対応する null 非許容型が実装メソッドの対応する引数型と等しい値型です。

    • 実装メソッドの返り値の型は非null許容型です。

実装メソッドが null場合:

  • left.Type と right.Type の両方が null 非許容の場合、そのノードはリフトされません。 ノードの型は、定義済みの剰余演算子の結果の型です。

  • left.Type と right.Type の両方が null 許容の場合、ノードはリフトされます。 ノードの型は、定義済みの剰余演算子の結果型に対応する null 許容型です。

適用対象

Modulo(Expression, Expression, MethodInfo)

ソース:
BinaryExpression.cs
ソース:
BinaryExpression.cs
ソース:
BinaryExpression.cs
ソース:
BinaryExpression.cs
ソース:
BinaryExpression.cs

算術剰余演算を表す BinaryExpression を作成します。

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

Left プロパティを等しい値に設定するExpression

right
Expression

Right プロパティを等しい値に設定するExpression

method
MethodInfo

Method プロパティを等しく設定するMethodInfo

戻り値

Moduloと等しいNodeType プロパティと、指定した値に設定されたLeftRight、およびMethodプロパティを持つBinaryExpression

例外

left または rightnull

methodnull されず、それを表すメソッドは voidを返すか、 static されていない (Visual Basic ではShared )、または 2 つの引数を受け取りません。

methodnull であり、剰余演算子は leftに対して定義されていません。型と right。型。

注釈

結果の BinaryExpression には、 Method プロパティが実装メソッドに設定されています。 Type プロパティは、ノードの型に設定されます。 ノードがリフトされると、 IsLifted プロパティと IsLiftedToNull プロパティの両方が trueされます。 それ以外の場合は、 falseConversion プロパティはnull

次の情報では、実装メソッド、ノードの種類、およびノードがリフトされるかどうかについて説明します。

メソッドの実装

操作の実装方法は、次の規則に基づいて選択されます。

  • methodnullされず、2 つの引数を受け取る void 以外のstatic (Visual Basic のShared) メソッドを表す場合は、ノードの実装メソッドです。

  • それ以外の場合、leftまたはrightのいずれかのTypeプロパティが、剰余演算子をオーバーロードするユーザー定義型を表す場合、そのメソッドを表すMethodInfoは実装メソッドです。

  • それ以外の場合、もしleft.Type と right.Type が数値型の場合、実装メソッドは null です。

ノードの種類とリフトされたノードと非リフト

実装メソッドが nullされていない場合:

  • left.Typeとright.Typeが実装メソッドの対応する引数型に割り当て可能な場合、ノードは持ち上げられません。 ノードの型は、実装メソッドの戻り値の型です。

  • 次の 2 つの条件が満たされている場合、ノードはリフトされ、ノードの型は実装メソッドの戻り値の型に対応する null 許容型です。

    • left.型と right。型は両方とも、少なくとも 1 つが null 許容であり、対応する null 非許容型が実装メソッドの対応する引数型と等しい値型です。

    • 実装メソッドの返り値の型は非null許容型です。

実装メソッドが null場合:

  • left.Type と right.Type の両方が null 非許容の場合、そのノードはリフトされません。 ノードの型は、定義済みの剰余演算子の結果の型です。

  • left.Type と right.Type の両方が null 許容の場合、ノードはリフトされます。 ノードの型は、定義済みの剰余演算子の結果型に対応する null 許容型です。

適用対象