Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этой статье приводятся дополнительные замечания к справочной документации по этому API.
Метод Add возвращает BinaryExpression, у которого свойство Method установлено для метода реализации. Свойство Type устанавливается в соответствии с типом узла. Если узел поднят, IsLifted и IsLiftedToNull свойства оба true. В противном случае они false. Свойство Conversion является null.
Ниже приведены сведения о методе реализации, типе узла и о том, будет ли снят узел.
Реализация метода
Следующие правила определяют выбранный метод реализации для операции:
-
Type Если свойство любого
leftилиrightпредставляет определяемый пользователем тип, который перегружает оператор сложения, MethodInfo это метод реализации. - В противном случае , если
left. Тип иright. Тип — числовые типы, реализуетсяnullметод.
Тип узла и снятый и не снятый
Если метод реализации не null :
Если
left. Тип иright. Тип можно присвоить соответствующим типам аргументов реализующего метода, узел не поднимается. Тип узла — это возвращаемый тип метода реализации.Если выполнены следующие два условия, узел поднимается, а тип узла — это тип, допускающий значение NULL, соответствующий возвращаемому типу метода реализации:
-
left. Тип иright. Тип — это оба типа значений, для которых по крайней мере один имеет значение NULL, и соответствующие типы, не допускающие значения NULL, равны соответствующим типам аргументов метода реализации. - Возвращаемый тип метода реализации — это ненулевой тип значения.
-
Если метод реализации имеет значение null:
- Если
left.Тип иright.Тип оба не допускают значение NULL, узел не поднимается. Тип узла — это тип результата предопределенного оператора добавления. - Если тип
leftи типrightоба могут быть null, узел поднимается в более высокий уровень. Тип узла — это тип, допускающий значение NULL, соответствующий типу результата предопределенного оператора добавления.