Ich arbeite an einem iPhone-Projekt mit MonoTouch, und ich brauche zu serialisieren und speichern Sie ein einfaches Objekt, das eine c#-Klasse mit einem CLLocation-Typ als Daten-Mitglied gehört:
[Serializable]
public class MyClass
{
public MyClass (CLLocation gps_location, string location_name)
{
this.gps_location = gps_location;
this.location_name = location_name;
}
public string location_name;
public CLLocation gps_location;
}
Dies ist meine Methode zur binären Serialisierung:
static void SaveAsBinaryFormat (object objGraph, string fileName)
{
BinaryFormatter binFormat = new BinaryFormatter ();
using (Stream fStream = new FileStream (fileName, FileMode.Create, FileAccess.Write, FileShare.None)) {
binFormat.Serialize (fStream, objGraph);
fStream.Close ();
}
}
Aber wenn ich diesen Code ausführe (myObject ist eine Instanz der oben genannten Klasse):
try {
SaveAsBinaryFormat (myObject, filePath);
Console.WriteLine ("object Saved");
} catch (Exception ex) {
Console.WriteLine ("ERROR: " + ex.Message);
}
Ich erhalte diese Ausnahme:
ERROR: Der Typ MonoTouch.CoreLocation.CLLocation ist nicht als serialisierbar gekennzeichnet.
Gibt es eine Möglichkeit, eine Klasse mit CLLocation zu serialisieren?