Expression.UnaryPlus 方法

定義

建立代表一元加法運算的 UnaryExpression

多載

UnaryPlus(Expression, MethodInfo)

建立代表一元加法運算的 UnaryExpression

UnaryPlus(Expression)

建立代表一元加法運算的 UnaryExpression

UnaryPlus(Expression, MethodInfo)

建立代表一元加法運算的 UnaryExpression

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

參數

expression
Expression

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

method
MethodInfo

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

傳回

UnaryExpression

UnaryExpression,其 NodeType 屬性等於 UnaryPlus,且 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,節點不會隨即解除。 否則,節點會隨即隨即轉移。

適用於

UnaryPlus(Expression)

建立代表一元加法運算的 UnaryExpression

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

參數

expression
Expression

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

傳回

UnaryExpression

UnaryExpression,其 NodeType 屬性等於 UnaryPlus,而 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,節點不會隨即解除。 否則,節點會隨即隨即轉移。

適用於