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.