Wieso benutzt du zwei Typen mit scheinbar identischem Inhalt?
In diesem Fall musst du Dir wohl eine bzw. zwei Hilfsroutinen schreiben, die aus einer TitelPlay ein Titel macht. Oder umgekehrt.
Sub Titel2Play(src As Titel) As TitelPlay
Dim dst As TitelPlay
dst.Initialize
dst.Datei = src.Datei
dst.Pfad = src.Pfad
Return dst
End Sub
Sub Play2Titel(src As TitelPlay) As Titel
Dim dst As Titel
dst.Initialize
dst.Datei = src.Datei
dst.Pfad = src.Pfad
Return dst
End Sub
Und dann würde dein Code ungefähr so anwendung finden
Lied = Titel2Play(listePlay.Get(i))
Oder du benutzt gleich für beides nur einen Type. Das würde Dir solche umwege der Hilfsroutinen um zwei Objekte umzuwandeln.
Auch, wenn die zwei properties des Type identisch sind, sind es zwei verschiedene Objekte weil die Basis (die Type-definition) unterschiedlich ist.
Meines erachtens ist es unsinnig hier so vorzugehen.
Benutze lieber NUR den Type Titel.
Du machst Dir das Leben nur unnötig schwer (wie du ja jetzt erfolgreich festgestellt hast ;-))