The possible types passed to a new instance of SomeClass must inherit SomeBaseClass. This can also be an interface. The characteristics of SomeBaseClass are accessible within this class definition.
Public Class SomeClass(Of T As SomeBaseClass)
Public Sub DoSomething(newItem As T)
newItem.DoSomethingElse()
' Insert code that processes an item of data type t.
End Sub
End Class
Public Class SomeBaseClass
Public Sub DoSomethingElse()
End Sub
End Class