Udostępnij za pośrednictwem


System.Linq.Expressions.Expression.Add, metody

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Metoda Add zwraca BinaryExpression właściwość , która ma Method właściwość ustawioną na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwości i IsLiftedToNull to .true W przeciwnym razie są to false. Właściwość Conversion to null.

Poniższe informacje opisują metodę implementowania, typ węzła i informację, czy węzeł jest zniesiony.

Implementowanie metody

Następujące reguły określają wybraną metodę implementowania dla operacji:

  • Type Jeśli właściwość lub leftright reprezentuje typ zdefiniowany przez użytkownika, który przeciąża operator dodawania, oznacza to, MethodInfo że metoda jest metodą implementowania.
  • W przeciwnym razie, jeśli left. Wpisz i right. Typ to typy liczbowe, a metoda implementowania to null.

Typ węzła i podniesiony w porównaniu z nieznośnym

Jeśli metoda implementowania nie nulljest :

  • Jeśli left. Wpisz i right. Typ można przypisać do odpowiednich typów argumentów metody implementowania. Węzeł nie jest zniesiony. Typ węzła to zwracany typ metody implementowania.

  • Jeśli spełnione są następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła jest typem dopuszczalnym wartości null odpowiadającym zwracanym typowi metody implementowania:

    • left. Wpisz i right. Typ to oba typy wartości, których co najmniej jeden jest dopuszczany do wartości null, a odpowiadające im typy niepuste są równe odpowiadającym typom argumentów metody implementowania.
    • Zwracany typ metody implementowania jest typem wartości innej niż null.

Jeśli metoda implementowania to null:

  • Jeśli left. Wpisz i right. Typ jest niezwiązany z wartością null. Węzeł nie zostanie zniesiony. Typ węzła jest typem wyniku wstępnie zdefiniowanego operatora dodawania.
  • Jeśli left. Wpisz i right. Typ to zarówno dopuszczana wartość null, jak i węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null, który odpowiada typowi wyniku wstępnie zdefiniowanego operatora dodawania.