Name

DirectCast Function

Named Arguments

No

Syntax

DirectCast(expression, typename)
expression (required; any)

The data item to be converted

typename (required; Keyword)

The data type, object type, structure, or interface to which expression is to be converted

Return Value

expression cast as a typename interface or object

Description

Converts an expression to its runtime data type, if possible; otherwise, returns an error.

Rules at a Glance

  • expression must be a reference type, typically a variable of type Object..

  • typename can be any data type (such as Boolean, Byte, Decimal, Long, Short, String, etc.), structure type, object type, or interface.

  • If the function fails, an InvalidCastException exception occurs.

Programming Tips and Gotchas

  • In contrast to the CType function, DirectCast converts a reference type (i.e., an object) to its runtime type. For instance,

    Option Strict On
    
    Imports System
    
    Public Module modMain
       Public Sub Main
          Dim oVal As Object = "a"c
          Dim chVal As Char = DirectCast(oVal, Char)
          Console.WriteLine(chVal)
       End Sub
    End Module
  • DirectCast can also be used to convert an object of a derived type to its base type. For example:

    Option Strict On Imports System Public Class Person ' Implementation of Person End Class Public Class Worker Inherits Person ' Implementation of Worker End Class Public Module modMain Public Sub Main ' Conversion of a derived to a base type Dim oWorker As New Worker() Dim oPerson As Person = oWorker Dim oPerson As Person = DirectCast(oWorker, Person) End ...

Get VB.NET Language in a Nutshell, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.