在我需要序列化的类(相机)中,我有一个成员没有太多序列化手段,我无法修改它的类。但是整个类中只有 2-3 个参数可以序列化,然后基于此反序列化。
XmlSerializer SerializerObj = new XmlSerializer(typeof(Camera));
TextWriter WriteFileStream = new StreamWriter(@"C:\test.xml");
SerializerObj.Serialize(WriteFileStream, cc);
WriteFileStream.Close();
我如何以及在哪里放置自定义序列化代码,从对象中获取这 2-3 个参数并提供给序列化程序,然后在反序列化期间使用这 2-3 个参数再次创建该对象。
更新。示例代码:
[Serializable()]
public class Camera
{
public string name;
public int index;
public double distance;
public List<string> CameraList { get; set; }
[XmlIgnore()]
public GMarkerGoogle marker;
public Camera()
{
}
}
marker
是没有序列化手段的成员。但是有了marker.position
,marker.rotation
我可以重新创建该对象。