Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Expression.ConvertChecked (Expression, Type)

 

Data di pubblicazione: ottobre 2016

Crea un oggetto UnaryExpression che rappresenta un'operazione di conversione che genera un'eccezione in caso di overflow del tipo di destinazione.

Spazio dei nomi:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static UnaryExpression ConvertChecked(
	Expression expression,
	Type type
)

Parametri

expression
Type: System.Linq.Expressions.Expression

Oggetto Expression su cui impostare la proprietà Operand.

type
Type: System.Type

Oggetto Type su cui impostare la proprietà Type.

Valore restituito

Type: System.Linq.Expressions.UnaryExpression

Oggetto UnaryExpression la cui proprietà NodeType è uguale a ConvertChecked e le cui proprietà Operand e Type sono impostate sui valori specificati.

Exception Condition
ArgumentNullException

expression o type è null.

InvalidOperationException

Non viene definito alcun operatore di conversione tra expression. Tipo e type.

Il Method proprietà dell'oggetto risultante UnaryExpression è impostato per il metodo di implementazione. La proprietà IsLiftedToNull è false. Se il nodo è elevato, IsLifted è true. Altrimenti, è false.

Le regole seguenti determinano il metodo di implementazione per l'operazione:

  • Se il valore expression. Tipo o type è un tipo definito dall'utente che definisce un operatore di conversione implicita o esplicita, il MethodInfo che rappresenta l'operatore è il metodo di implementazione.

  • In caso contrario:

    • Se entrambi expression. Tipo e type rappresentano i tipi numerici o booleani o tipi di enumerazione che ammette valori null o non nullable, il metodo di implementazione è null.

    • Se il valore expression. Tipo o type è un tipo di riferimento e il boxing esplicito unboxing o conversione di un riferimento esiste da expression. Tipo di type, il metodo di implementazione è null.

Se il metodo di implementazione non null:

  • Se expression. Il tipo è assegnabile al tipo di argomento del metodo di implementazione e il tipo restituito del metodo di implementazione è assegnabile al type, il nodo non è elevato.

  • Se uno o entrambi di expression. Tipo o type sono un tipo di valore nullable e tipi di valore non nullable corrispondenti sono rispettivamente uguali al tipo di argomento e il tipo restituito del metodo di implementazione, il nodo è elevato.

Se il metodo di implementazione è null:

  • Se entrambi expression. Tipo e type sono non nullable, il nodo non è elevato.

  • In caso contrario, il nodo è elevato.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: