I will have a lot of these types of data forms (at present, 13 item types), and there might even be a provision to allow the user to create his/her own. It seems like I need to stick with classes I can build on the fly, as I don't think types will let me do that. Maybe you have a trick around that.
With the method you suggest above, I would have to have a separate SaveListOf<T> for each class type I implement. That somewhat defeats the purpose of my setting it all up this way, unless there's a way to create a sub or class that lets me SaveListOfItems(key as string, items as List, itemType as <T>):
Private Sub SaveListOfItems (key As String, items As List, <T> )
Dim slist As List
slist.Initialize
For Each item As <T> In items
slist.Add(item.ToBytes)
Next
data.Put(key, slist)
End Sub
but how do I pass to this Save() function the class/type I'm saving?