Sdílet prostřednictvím


Metody System.Linq.Expressions.Expression.Add

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

Metoda Add vrátí BinaryExpression, která má vlastnost Method nastavenou na implementační metodu. Vlastnost Type je nastavena na typ uzlu. Pokud je uzel zvednut, IsLifted a IsLiftedToNull vlastnosti jsou obě true. Jinak jsou false. Vlastnost Conversion je null.

Následující informace popisují implementovanou metodu, typ uzlu a informace o tom, jestli je uzel zvednut.

Implementace metody

Následující pravidla určují vybranou metodu implementace operace:

  • Type Pokud vlastnost buď left nebo right představuje uživatelem definovaný typ, který přetíží operátor sčítání, MethodInfo který představuje tuto metodu je implementovací metoda.
  • V opačném případě pokud left.Type a right.typ jsou číselné typy, implementovaná metoda je null.

Typ uzlu a zvednutý versus nezvednutý

Pokud implementovaná metoda není null:

  • Pokud left.Typ a right.Typ lze přiřadit k odpovídajícím typům argumentů implementující metody, uzel není zvednut. Typ uzlu je návratový typ implementové metody.

  • Pokud jsou splněny následující dvě podmínky, uzel je zvednut a typ uzlu je typ s možnou hodnotou null, který odpovídá návratu typu implementované metody:

    • left. Typ a right. Typ jsou oba hodnotové typy, z nichž alespoň jeden je nulovatelné, a odpovídající ne-nulovatelné typy jsou rovny odpovídajícím typům argumentů implementační metody.
    • Návratový typ implementované metody je nenulový typ hodnoty.

Pokud implementovaná metoda je null:

  • Pokud left.Typ a right.Typ jsou oba nenullovatelné, uzel není zvednut. Typ uzlu je typ výsledku předdefinovaného operátoru sčítání.
  • Pokud jsou left.Typ a right.Typ oba nulovatelné, uzel je zvednut. Typ uzlu je typ s možnou hodnotou null, který odpovídá typu výsledku předdefinovaného operátoru sčítání.