내가 MonoTouch를 사용하여 아이폰 프로젝트에 일하고 있어요, 나는 직렬화 및 데이터 멤버로 CLLocation 유형과 교류 # 클래스에 속하는 단순 개체를 저장해야합니다MonoTouch : Serializable으로 표시되지 않은 유형 (CLLocation 등)을 직렬화하는 방법은 무엇입니까?
[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;
}
이 내 바이너리 직렬화 방법입니다 :
try {
SaveAsBinaryFormat (myObject, filePath);
Console.WriteLine ("object Saved");
} catch (Exception ex) {
Console.WriteLine ("ERROR: " + ex.Message);
}
나는이 exceptio를 얻을 :이 코드를 실행할 때
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();
}
}
는하지만 (즉, myObject 위 클래스의 인스턴스) n :
ERROR: Type MonoTouch.CoreLocation.CLLocation is not marked as Serializable.
CLLocation을 사용하여 클래스를 직렬화하는 방법이 있습니까?
감사합니다. 매력처럼 작동했습니다. –