DirectCast Function

   
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 Sub End Module 
  • Like most of the conversion functions, DirectCast is not actually a function in the Microsoft.VisualBasic namespace. Instead, it is similar to a Visual C++ macro; the compiler translates the function call into inline code.

VB .NET/VB 6 Differences

The DirectCast function is new to VB .NET.

See Also

CType Function

   


VB.Net Language in a Nutshell
VB.NET Language in a Nutshell
ISBN: B00006L54Q
EAN: N/A
Year: 2002
Pages: 503

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net