AS, IS and cast : As « Language Basics « VB.Net

AS, IS and cast

AS, IS and cast
Imports System

Public Class MainClass
    Shared Sub Main()
       Dim doc As New Document("Test Document")

       ' only cast if it is safe
       If TypeOf doc Is IStorable Then
            Dim isDoc As IStorable = doc
            isDoc.Read(  )
            Console.WriteLine("Could not cast to IStorable")
       End If

       ' this test will fail
       If TypeOf doc Is ICompressible Then
            Dim icDoc As ICompressible = doc
            icDoc.Compress(  )
            Console.WriteLine("Could not cast to ICompressible")
       End If
    End Sub
End Class

     Interface IStorable
         Sub Read(  )
         Sub Write(ByVal obj As Object)
         Property Status(  ) As Integer
     End Interface

     Interface ICompressible
         Sub Compress(  )
         Sub Decompress(  )
     End Interface

     Public Class Document
         Implements IStorable

         Public Sub New(ByVal s As String)
             Console.WriteLine("Creating document with: {0}", s)
         End Sub

         Public Sub Read(  ) Implements IStorable.Read
             Console.WriteLine("Implementing the Read Method for IStorable")
         End Sub

         Public Sub Write(ByVal o As Object) Implements IStorable.Write
             Console.WriteLine( _
               "Implementing the Write Method for IStorable")
         End Sub

         Public Property Status(  ) As Integer Implements IStorable.Status
                 Return Status
             End Get
             Set(ByVal Value As Integer)
                 Status = Value
             End Set
         End Property

         Private myStatus As Integer = 0
     End Class

Related examples in the same category

1.'Is' and 'As' operator for a Class'Is' and 'As' operator for a Class