Generic Class and Interface
Imports System.Collections Imports System.Collections.Generic Public Class MainClass Public Shared Sub Main() Dim aCat As New Talker(Of Cat)(New Cat()) Dim aDog As New Talker(Of Dog)(New Dog()) aCat.TalkIt() aDog.TalkIt() End Sub End Class Public Interface ITalker Sub Talk() End Interface Public Class Talker(Of T As ITalker) Dim talkerItem As T Public Sub New(ByVal shooterItem As T) Me.talkerItem = shooterItem End Sub Public Sub TalkIt() Me.talkerItem.Talk() End Sub End Class Public Class Dog Implements ITalker Public Sub Talk() Implements ITalker.Talk Console.Out.WriteLine("Dog->Talk") End Sub End Class Public Class Cat Implements ITalker Public Sub Talk() Implements ITalker.Talk Console.Out.WriteLine("Cat->Talk") End Sub End Class