Mega Code Archive

 
Categories / VB.Net / Language Basics
 

Is and As operator for a Class

Imports System Public Class MainClass     Shared Sub Main(ByVal args As String())         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 'IStorable   ' here's the new interface   Interface ICompressible       Sub Compress( )       Sub Decompress( )   End Interface 'ICompressible   ' Document implements both interfaces   Public Class Document       Implements IStorable       ' the document constructor       Public Sub New(ByVal s As String)           Console.WriteLine("Creating document with: {0}", s)       End Sub 'New       ' implement IStorable       Public Sub Read( ) Implements IStorable.Read           Console.WriteLine("Implementing the Read Method for IStorable")       End Sub 'Read       Public Sub Write(ByVal o As Object) Implements IStorable.Write           Console.WriteLine( _             "Implementing the Write Method for IStorable")       End Sub 'Write       Public Property Status( ) As Integer Implements IStorable.Status           Get               Return Status           End Get           Set(ByVal Value As Integer)               Status = Value           End Set       End Property       ' hold the data for IStorable's Status property       Private myStatus As Integer = 0   End Class 'Document