共用方式為


Expression.NegateChecked 方法

定義

建立 UnaryExpression,其代表包含溢位檢查的算術負運算。

多載

NegateChecked(Expression)

建立 UnaryExpression,其代表包含溢位檢查的算術負運算。

NegateChecked(Expression, MethodInfo)

建立 UnaryExpression,其代表包含溢位檢查的算術負運算。 實作的方法可加以指定。

NegateChecked(Expression)

來源:
UnaryExpression.cs
來源:
UnaryExpression.cs
來源:
UnaryExpression.cs

建立 UnaryExpression,其代表包含溢位檢查的算術負運算。

public:
 static System::Linq::Expressions::UnaryExpression ^ NegateChecked(System::Linq::Expressions::Expression ^ expression);
public static System.Linq.Expressions.UnaryExpression NegateChecked (System.Linq.Expressions.Expression expression);
static member NegateChecked : System.Linq.Expressions.Expression -> System.Linq.Expressions.UnaryExpression
Public Shared Function NegateChecked (expression As Expression) As UnaryExpression

參數

expression
Expression

要將 Expression 屬性設定為與之相等的 Operand

傳回

UnaryExpression,其 NodeType 屬性等於 NegateChecked,而 Operand 屬性設定為指定的值。

例外狀況

expressionnull

不會為 expression.Type 定義一元減號運算子。

備註

Method產生的 UnaryExpression 屬性會設定為實作方法。 屬性 Type 會設定為節點的類型。 如果隨即解除節點, IsLiftedIsLiftedToNull 屬性都是 true。 否則,它們是 false。

實作方法

下列規則會決定作業的實作方法:

  • 如果為 expression。類型是定義一元減號運算符的使用者定義型別, MethodInfo 表示該運算符是實作方法。

  • 否則,如果 expression為 。類型是數值類型,實作方法是 null

節點類型和隨即轉移與非隨即轉移的比較

如果實作方法不是 null

  • 如果為 expression。類型可指派給實作方法的自變數類型,節點不會隨即解除。 節點的類型是實作方法的傳回型別。

  • 如果滿足下列兩個條件,則會隨即解除節點,而節點的類型是對應至實作方法之傳回型別的可為 Null 型別:

    • expression.類型是可為 Null 的實值型別,且對應的不可為 Null 實作實作方法的自變數類型相等。

    • 實作方法的傳回型別是不可為 Null 的實值型別。

如果實作方法為 null,則節點的類型為 expression。類型。 如果為 expression。類型不可為 Null,節點不會隨即解除。 否則,節點會隨即隨即轉移。

適用於

NegateChecked(Expression, MethodInfo)

來源:
UnaryExpression.cs
來源:
UnaryExpression.cs
來源:
UnaryExpression.cs

建立 UnaryExpression,其代表包含溢位檢查的算術負運算。 實作的方法可加以指定。

public:
 static System::Linq::Expressions::UnaryExpression ^ NegateChecked(System::Linq::Expressions::Expression ^ expression, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.UnaryExpression NegateChecked (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.UnaryExpression NegateChecked (System.Linq.Expressions.Expression expression, System.Reflection.MethodInfo? method);
static member NegateChecked : System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.UnaryExpression
Public Shared Function NegateChecked (expression As Expression, method As MethodInfo) As UnaryExpression

參數

expression
Expression

要將 Expression 屬性設定為與之相等的 Operand

method
MethodInfo

要將 MethodInfo 屬性設定為與之相等的 Method

傳回

UnaryExpression,其 NodeType 屬性等於 NegateChecked,且 OperandMethod 屬性設定為指定的值。

例外狀況

expressionnull

method 不是 null,而且其代表的方法傳回的是 void,不是 static (在 Visual Basic 中為 Shared),或者使用的引數不是剛好一個。

methodnull,且不會為 expression.Type 定義一元減號運算子。

-或-

expression.Type (如果它是可為 Null 的實質類型,則為其對應之不可為 Null 的類型) 無法指派給 method 所代表之方法的引數類型。

備註

Method產生的 UnaryExpression 屬性會設定為實作方法。 屬性 Type 會設定為節點的類型。 如果隨即解除節點, IsLiftedIsLiftedToNull 屬性都是 true。 否則,它們是 false。

實作方法

下列規則會決定作業的實作方法:

  • 如果 method 不是 null 且它代表非 void, static (Shared Visual Basic) 方法中採用一個自變數,則為節點的實作方法。

  • 如果為 expression。類型是定義一元減號運算符的使用者定義型別, MethodInfo 表示該運算符是實作方法。

  • 否則,如果 expression為 。類型是數值類型,實作方法是 null

節點類型和隨即轉移與非隨即轉移的比較

如果實作方法不是 null

  • 如果為 expression。類型可指派給實作方法的自變數類型,節點不會隨即解除。 節點的類型是實作方法的傳回型別。

  • 如果滿足下列兩個條件,則會隨即解除節點,而節點的類型是對應至實作方法之傳回型別的可為 Null 型別:

    • expression.類型是可為 Null 的實值型別,且對應的不可為 Null 實作實作方法的自變數類型相等。

    • 實作方法的傳回型別是不可為 Null 的實值型別。

如果實作方法為 null,則節點的類型為 expression。類型。 如果為 expression。類型不可為 Null,節點不會隨即解除。 否則,節點會隨即隨即轉移。

適用於