Mega Code Archive

 
Categories / VB.Net / Class
 

Interface Inherits another Interface

Imports System Public Class MainClass     Shared Sub Main(ByVal args As String())              Dim doc As New Document("Test Document")              If TypeOf doc Is IStorable Then                  Dim isDoc As IStorable = doc                  isDoc.Read( )              Else                  Console.WriteLine("Could not cast to IStorable")              End If              If TypeOf doc Is ICompressible2 Then                  Dim ilDoc As ICompressible2 = doc                  Console.Write("Calling both ICompressible and ")                  Console.WriteLine("ICompressible2 methods...")                  ilDoc.Compress( )                  ilDoc.LogSavedBytes( )              Else                  Console.WriteLine("Could not cast to ICompressible2")              End If              If TypeOf doc Is ICompressible Then                  Dim icDoc As ICompressible = doc '                  Console.WriteLine( _                     "Treating the object as Compressible... ")                  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      Interface ICompressible          Sub Compress( )          Sub Decompress( )      End Interface 'ICompressible      Interface ICompressible2          Inherits ICompressible      Sub LogSavedBytes( )     End Interface 'ICompressible2     Public Class Document          Implements ICompressible2, IStorable                    Public Sub New(s As String)             Console.WriteLine("Creating document with: {0}", s)          End Sub 'New          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 myStatus              End Get              Set(ByVal Value As Integer)                  myStatus = Value              End Set          End Property          ' implement ICompressible          Public Sub Compress( ) Implements ICompressible.Compress              Console.WriteLine("Implementing Compress")          End Sub 'Compress          Public Sub Decompress( ) Implements ICompressible.Decompress              Console.WriteLine("Implementing Decompress")          End Sub 'Decompress          ' implement ICompressible2          Public Sub LogSavedBytes( ) Implements ICompressible2.LogSavedBytes              Console.WriteLine("Implementing LogSavedBytes")          End Sub 'LogSavedBytes          ' hold the data for IStorable's Status property          Private myStatus As Integer = 0      End Class 'Document