Mega Code Archive

 
Categories / VB.Net Tutorial / Operator
 

Use Is and As to convert a class to its implenented Interface

Imports System      Interface Printable          Sub Read( )          Sub Write(ByVal obj As Object)          Property Status( ) As Integer      End Interface       Interface Zippable          Sub Zip( )          Sub Unzip( )      End Interface       Public Class Document       Implements Printable          Public Sub New(ByVal s As String)              Console.WriteLine("Creating document with: {0}", s)          End Sub           Public Sub Read( ) Implements Printable.Read              Console.WriteLine("Implementing the Read Method for Printable")          End Sub           Public Sub Write(ByVal o As Object) Implements Printable.Write              Console.WriteLine("Implementing the Write Method for Printable")          End Sub 'Write          Public Property Status( ) As Integer Implements Printable.Status              Get                  Return Status              End Get              Set(ByVal Value As Integer)                  Status = Value              End Set          End Property          Private myStatus As Integer = 0      End Class 'Document      Class Tester          Public Sub Run( )          End Sub 'Run          Shared Sub Main( )              Dim doc As New Document("Test Document")              If TypeOf doc Is Printable Then                  Dim isDoc As Printable = doc                  isDoc.Read( )              Else                  Console.WriteLine("Could not cast to Printable")              End If              If TypeOf doc Is Zippable Then                  Dim icDoc As Zippable = doc                  icDoc.Zip( )              Else                  Console.WriteLine("Could not cast to Zippable")              End If          End Sub 'Main      End Class Creating document with: Test Document Implementing the Read Method for Printable Could not cast to Zippable