O'Reilly logo

VB.NET Language in a Nutshell, Second Edition by Steven Roman PhD, Paul Lomax, Ron Petrusha

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required