Freigeben über


System.Linq.Expressions.Expression.Add-Methoden

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Die Add Methode gibt einen BinaryExpression Wert zurück, der die Method Eigenschaft auf die Implementierungsmethode festgelegt hat. Die Type Eigenschaft wird auf den Typ des Knotens festgelegt. Wenn der Knoten aufgehoben wird, sind truebeide IsLiftedIsLiftedToNull Eigenschaften. Andernfalls sind falsesie . Die Conversion-Eigenschaft ist null.

Die folgenden Informationen beschreiben die Implementierungsmethode, den Knotentyp und ob ein Knoten aufgehoben wird.

Implementieren der Methode

Die folgenden Regeln bestimmen die ausgewählte Implementierungsmethode für den Vorgang:

  • Wenn die Type Eigenschaft eines left oder right eines benutzerdefinierten Typs darstellt, der den Additionsoperator überlastet, ist dies MethodInfo die Implementierungsmethode.
  • Andernfalls, wenn left. Typ und right. Typ sind numerische Typen, die Implementierungsmethode lautet null.

Knotentyp und aufgehoben im Vergleich zu nicht aufgehobenen

Wenn die Implementierungsmethode nicht nulllautet:

  • Wenn left. Typ und right. Typ kann den entsprechenden Argumenttypen der Implementierungsmethode zugewiesen werden, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Rückgabetyp der Implementierungsmethode.

  • Wenn die folgenden beiden Bedingungen erfüllt sind, wird der Knoten aufgehoben, und der Typ des Knotens ist der nullable Typ, der dem Rückgabetyp der Implementierungsmethode entspricht:

    • left. Typ und right. Typ sind beide Werttypen, von denen mindestens ein Nullwert zulässig ist, und die entsprechenden nicht nullablen Typen entsprechen den entsprechenden Argumenttypen der implementierenden Methode.
    • Der Rückgabetyp der Implementierungsmethode ist ein nicht nullwertbarer Werttyp.

Wenn die Implementierungsmethode lautet null:

  • Wenn left. Typ und right. Der Typ ist nicht nullfähig, der Knoten wird nicht aufgehoben. Der Typ des Knotens ist der Ergebnistyp des vordefinierten Additionsoperators.
  • Wenn left. Typ und right. Der Typ ist beide nullfähig, der Knoten wird aufgehoben. Der Typ des Knotens ist der nullwerte Typ, der dem Ergebnistyp des vordefinierten Additionsoperators entspricht.