Make a class for each object you want to use - these all inheriting from a base class - this way you can have a method or collection use any of these objects, the base class implements an Interface with the Sub routine Rotate
that takes the angle parameter. Now the function can take any of these objects then ask each object to rotate based on their internal method Rotate
which handles the object in question and with it's specific way of rotating the object. You could even pass the graphics object to it for some simplicity.
'base class
Public MustInherit Class BaseObject : Implements IRotateObject
Sub Rotate(angle As Single) Implements IRotateObject.Rotate
'empty sub here, handle each in there Overload
End Sub
End Class
'interface
Public Interface IRotateObject
Sub Rotate(angle As Single)
End Interface
'drawing object class
Public Class sprite : Inherits BaseObject
Overloads Sub Rotate(angle As Single)
'handle rotation for this object here
End Sub
End Class
'usage
Dim collection As New List(Of BaseObject)
Dim _sprite As New sprite
collection.Add(_sprite)
For Each obj In collection
obj.Rotate(45)
Next