Es ist schon spät nachts und entsprechend kurz mein Silverlight Beispiel. Es geht darum eine Liste von Objekten (generische Liste) zu serialisieren und dann in den Isolatedstorage zu legen. Erstens verzichte ich willentlich auf Datacontract und Datamember attribute und zweitens auf das Isolatedstoragefile.
Also eigentlich mache ich es falsch oder besser gesagt. Es gibt andere Lösungswege.
Ich speichere in das Isolatedstoragesettings Dictionary. Durch die Verwendung des Json Serializers und der Unicode codierung reduziert sich der Platzbedarf auf ein Minimum.
Dim iso As IsolatedStorageSettings = IsolatedStorageSettings.SiteSettings
Dim o As List(Of diggies) = DataGrid1.ItemsSource
Using ms As MemoryStream = New MemoryStream()
Dim dc As New DataContractJsonSerializer(GetType(List(Of diggies)))
dc.WriteObject(ms, o)
Dim array() As Byte = ms.ToArray()
iso("hannes") = Encoding.Unicode.GetString(array, 0, array.Length)
End Using
Das lesen aus dem Store genau anders rum.
Dim iso As IsolatedStorageSettings = IsolatedStorageSettings.SiteSettings
Dim dc As New DataContractJsonSerializer(GetType(List(Of diggies)))
Dim b As Byte() = Encoding.Unicode.GetBytes(iso("hannes"))
Using ms As MemoryStream = New MemoryStream(b)
Dim o As List(Of diggies) = dc.ReadObject(ms)
DataGrid1.ItemsSource = o
End Using