Metodi System.Linq.Expressions.Expression.Add
Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.
Il Add metodo restituisce un oggetto BinaryExpression con la Method proprietà impostata sul metodo di implementazione. La Type proprietà è impostata sul tipo del nodo. Se il nodo viene sollevato, le IsLifted proprietà e IsLiftedToNull sono entrambe true
. In caso contrario, sono false
. La proprietà Conversion è null
.
Le informazioni seguenti descrivono il metodo di implementazione, il tipo di nodo e l'accuratezza di un nodo.
Implementazione del metodo
Le regole seguenti determinano il metodo di implementazione selezionato per l'operazione:
- Se la Type proprietà di
left
oright
rappresenta un tipo definito dall'utente che esegue l'overload dell'operatore di addizione, l'oggetto MethodInfo che rappresenta tale metodo è il metodo di implementazione. - In caso contrario, se
left
. Digitare eright
. Il tipo sono tipi numerici, il metodo di implementazione ènull
.
Tipo di nodo e lifting rispetto a non lifted
Se il metodo di implementazione non null
è :
Se
left
. Digitare eright
. Il tipo è assegnabile ai tipi di argomento corrispondenti del metodo di implementazione, il nodo non viene sollevato. Il tipo del nodo è il tipo restituito del metodo di implementazione.Se vengono soddisfatte le due condizioni seguenti, il nodo viene sollevato e il tipo del nodo è il tipo nullable che corrisponde al tipo restituito del metodo di implementazione:
left
. Digitare eright
. Il tipo è entrambi tipi valore di cui almeno uno è nullable e i tipi non nullable corrispondenti sono uguali ai tipi di argomento corrispondenti del metodo di implementazione.- Il tipo restituito del metodo di implementazione è un tipo valore non nullable.
Se il metodo di implementazione è null
:
- Se
left
. Digitare eright
. Il tipo non è nullable, il nodo non viene sollevato. Il tipo del nodo è il tipo di risultato dell'operatore di addizione predefinito. - Se
left
. Digitare eright
. Il tipo è entrambi nullable, il nodo viene sollevato. Il tipo del nodo è il tipo nullable che corrisponde al tipo di risultato dell'operatore di addizione predefinito.