Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.
El Add método devuelve un BinaryExpression que tiene la Method propiedad establecida en el método de implementación. La Type propiedad se establece en el tipo del nodo. Si se levanta el nodo, tanto las propiedades IsLifted como IsLiftedToNull son true
. De lo contrario, son false
. La Conversion propiedad es null
.
En la siguiente información se describe el método de implementación, el tipo de nodo y si se levanta un nodo.
Método de implementación
Las reglas siguientes determinan el método de implementación seleccionado para la operación:
- Si la propiedad Type de
left
oright
representa un tipo definido por el usuario que sobrecarga el operador de suma, el MethodInfo que representa ese método es el método de implementación. - De lo contrario, si
left
.Type yright
.Type son tipos numéricos, el método de implementación esnull
.
Tipo de nodo y levantado frente a no levantado
Si el método de implementación no es null
:
Si
left
.Tipo yright
.Tipo son asignables a los tipos de argumento correspondientes del método de implementación, el nodo no se levanta. El tipo del nodo es el tipo de valor devuelto del método de implementación.Si se cumplen las dos condiciones siguientes, el nodo se levanta y el tipo del nodo es el tipo anulable que corresponde al tipo de retorno del método implementador.
-
left
.Tipo yright
.Tipo son tipos de valor, de los cuales al menos uno es nullable, y los tipos no anulables correspondientes son iguales a los tipos de argumento del método de implementación. - El tipo de valor devuelto del método de implementación es un tipo de valor que no acepta valores NULL.
-
Si el método de implementación es null
:
- Si tanto
left
.Tipo comoright
.Tipo no aceptan valores NULL, el nodo no se levanta. El tipo del nodo es el tipo de resultado del operador de suma predefinido. - Si tanto
left
.Tipo comoright
.Tipo son de tipo nullable, el nodo se eleva. El tipo del nodo es el tipo anulable que corresponde al tipo de resultado del operador de suma predefinido.