Public Class MainClass
Public Shared Sub Main()
Dim talker1 As New GenericTalker(Of Dog)()
talker1.Talker = New Dog()
talker1.sayHello()
Dim talker2 As New GenericTalker(Of Cat)()
talker2.Talker = New Cat()
talker2.sayHello()
End Sub
End Class
Public Class GenericTalker(Of T)
Public Talker As T
Public Sub SayHello()
Dim helloWorld As String
helloWorld = Talker.ToString()
Console.WriteLine(helloWorld)
End Sub
End Class
Public Class Dog
Public Overrides Function ToString() As String
Return "Dog!"
End Function
End Class
Public Class Cat
Public Overrides Function ToString() As String
Return "Cat"
End Function
End Class
Public Class Mouse
Public Overrides Function ToString() As String
Return "Mouse"
End Function
End Class
Public Class Person
Public Overrides Function ToString() As String
Return "Person"
End Function
End Class