Funzione CType (Visual Basic)

Restituisce il risultato della conversione esplicita di un'espressione nel tipo di dati, struttura, classe, interfaccia o oggetto specificato.

CType(expression, typename)

Parti

  • expression
    Qualsiasi espressione valida. Se il valore di expression non rientra nell'intervallo consentito da typename, viene generata un'eccezione.

  • typename
    Qualsiasi espressione valida in una clausola As di un'istruzione Dim, ovvero il nome di qualsiasi tipo di dati, oggetto, struttura, classe o interfaccia.

Note

La funzione CType viene compilata inline. Il codice di conversione fa quindi parte del codice con cui viene valutata l'espressione. In alcuni casi l'assenza di chiamate a una routine per eseguire la conversione contribuisce a rendere tale processo più veloce.

Se non è definita alcuna conversione da expression in typename, ad esempio da Integer in Date, viene visualizzato un messaggio di errore in fase di compilazione.

Se un'operazione di conversione ha esito negativo in fase di esecuzione, viene generata l'eccezione appropriata. Se una conversione verso un tipo di dati più piccolo ha esito negativo, il risultato più frequente è rappresentato da un'eccezione OverflowException. Se la conversione non è definita, viene generata un'eccezione InvalidCastException. Questa situazione può verificarsi, ad esempio, se expression è di tipo Object e il relativo tipo in fase di esecuzione non viene convertito in typename.

Se il tipo di dati di expression o typename è una classe o una struttura specificata, è possibile definire CType su tale classe o struttura come operatore di conversione. In questo modo, la funzione CType funge da operatore di overload ed è possibile controllare il comportamento delle conversioni da e nella classe o struttura, inclusi i tipi di eccezione che possono essere generati.

Overload

È possibile eseguire l'overload dell'operatore CType anche su una classe o una struttura definita all'esterno del codice. Se il codice esegue una conversione da o in una classe o struttura di questo tipo, è importante comprendere il comportamento del relativo operatore CType. Per ulteriori informazioni, vedere Routine di operatore (Visual Basic).

Conversione di oggetti dinamici

Se si utilizzano oggetti dinamici, in cui le conversioni di tipi vengono eseguite mediante conversioni dinamiche definite dall'utente nelle quali si utilizzano i metodi TryConvert o BindConvert, utilizzare il metodo CTypeDynamic per convertire l'oggetto dinamico.

Esempio

Nell'esempio riportato di seguito la funzione CType viene utilizzata per convertire un'espressione nel tipo di dati specificato.

Dim testNumber As Long = 1000
' The following line of code sets testNewType to 1000.0.
Dim testNewType As Single = CType(testNumber, Single)

Vedere anche

Attività

Procedura: definire un operatore di conversione (Visual Basic)

Riferimenti

Funzioni di conversione del tipo (Visual Basic)

Funzioni di conversione (Visual Basic)

OverflowException

InvalidCastException

Istruzione Operator