Mega Code Archive

 
Categories / VB.Net / Language Basics
 

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(  )        Else             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(  )        Else             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              Get                  Return Status              End Get              Set(ByVal Value As Integer)                  Status = Value              End Set          End Property          Private myStatus As Integer = 0      End Class