Expression.UnaryPlus 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立代表一元加法運算的 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,其 NodeType 屬性等於 UnaryPlus,且 Operand 和 Method 屬性設定為指定的值。
例外狀況
expression 為 null。
method 不是 null,而且其代表的方法傳回的是 void,不是 static (在 Visual Basic 中為 Shared),或者使用的引數不是剛好一個。
method 為 null,且不會為 expression.Type 定義一元正運算子。
-或-
expression.Type (如果它是可為 Null 的實質類型,則為其對應之不可為 Null 的類型) 無法指派給 method 所代表之方法的引數類型。
備註
產生的 MethodUnaryExpression 屬性會設定為實作方法。 屬性 Type 會設定為節點的類型。 如果節點隨即提升, IsLifted 則與 IsLiftedToNull 屬性都是 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,其 NodeType 屬性等於 UnaryPlus,而 Operand 屬性設定為指定的值。
例外狀況
expression 為 null。
不會為 expression.Type 定義一元正運算子。
備註
產生的 MethodUnaryExpression 屬性會設定為實作方法。 屬性 Type 會設定為節點的類型。 如果節點隨即提升, IsLifted 則與 IsLiftedToNull 屬性都是 true。 否則,它們是 false。
實作方法
下列規則會決定作業的實作方法:
如果為
expression。類型是定義一元加號運算子的使用者定義型別, MethodInfo 表示該運算符是實作方法。否則,如果
expression為 。類型是數值類型,實作方法為null。
節點類型和隨即轉移與非增益的比較
如果實作方法不是 null:
如果為
expression。類型可指派給實作方法的自變數類型,節點不會隨即解除。 節點的類型是實作方法的傳回型別。如果滿足下列兩個條件,則會隨即啟動節點,而節點的類型是對應至實作方法之傳回型別的可為 Null 類型:
expression.類型是可為 Null 的實值型別,且對應的不可為 Null 實作實作方法的自變數類型相等。實作方法的傳回型別是不可為 Null 的實值型別。
如果實作方法為 null,則節點的類型為 expression。類型。 如果為 expression。類型不可為 Null,節點不會隨即解除。 否則,會隨即啟動節點。