我有一个名为“Conexion”的类,我将我的应用程序的所有信息保存在那里,当用户按下 Windows 键时,我希望它将类的对象保存到文件中,但是应用程序崩溃,因为它说 obect “delegado”在反映他的类型时存在问题。这个对象的类型是 "PhoneApplicationPage" ,好像不能序列化。该对象跟踪发出请求的页面。
所以我请求你帮助看看是否有解决方案,这不会让我重做应用程序,因为我没有时间。
这是我用来保存和加载数据的方法的代码。
public void save() {
IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream stream = storage.CreateFile(fileName);
DateTime currTime = DateTime.Now;
this.timeOff = currTime.ToString();
XmlSerializer xml = new XmlSerializer(this.GetType());
xml.Serialize(stream, this);
stream.Close();
stream.Dispose();
}
public Conexion load() {
IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication();
Conexion conn;
if (storage.FileExists(fileName))
{
IsolatedStorageFileStream stream = storage.OpenFile(fileName, System.IO.FileMode.Open);
XmlSerializer xml = new XmlSerializer(typeof(Conexion));
conn = xml.Deserialize(stream) as Conexion;
stream.Close();
DateTime currTime = DateTime.Now;
DateTime checkTime = DateTime.Parse(timeOff).AddMinutes(lapso);
if (DateTime.Compare(checkTime, currTime) >= 0)
{
Console.WriteLine("sesion valida");
}
else {
conn.reseteaSingletonConexion();
}
stream.Dispose();
}
else
{
conn= new Conexion();
}
return conn;
}
提前致谢
编辑:
好吧,忽略对象“delegado”阻止了应用程序崩溃,但是现在,当我加载信息时,该对象无法反序列化,似乎它在同一个错误中标记了 2 个细节:
There is an error in XML document (2, 2).
Conexion cannot be serialized because it does not have a parameterless constructor.
但该类确实有一个无参数的构造函数。
任何的想法?