Share via


System.Linq.Expressions.Expression.Add 方法

本文提供此 API 參考文件的補充備註。

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

下列資訊描述實作方法、節點類型,以及節點是否已解除。

實作方法

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

  • Type如果 或 rightleft 屬性表示多載加號運算子的使用者定義型別,MethodInfo則表示該方法的 是實作方法。
  • 否則,如果 left為 。輸入與 right。類型為數值類型,實作方法為 null

節點類型和提升與非隨即解除的比較

如果實作方法不是 null

  • 如果 left為 。輸入與 right。類型可指派給實作方法的對應自變數類型,節點不會解除。 節點的類型是實作方法的傳回型別。

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

    • left.輸入與 right。類型都是兩種實值型別,其中至少一個可為 Null,而對應的不可為 Null 型別等於實作方法的對應自變數類型。
    • 實作方法的傳回型別是不可為 Null 的實值型別。

如果實作方法為 null

  • 如果 left為 。輸入與 right。類型都是不可為 Null 的,不會解除節點。 節點的類型是預先定義加法運算子的結果類型。
  • 如果 left為 。輸入與 right。類型都是可為 Null 的,節點會隨即解除。 節點的類型是可為 Null 的類型,對應至預先定義加法運算子的結果類型。