我正在尝试读取我使用Serialize保存到IsolatedStorageFile的XML文件。当我尝试在try块中读回XML文件时,它会在反序列化步骤中抛出异常。难道我做错了什么?我该如何解决这个问题?
投注类:
public class Bet
{
public String Amount { get; set; }
public String Opponent { get; set; }
public String Terms { get; set; }
public int Result { get; set; }
public String ResultColor { get; set; }
public Bet(String amount, String opponent, String terms, int result, String rcolor)
{
this.Amount = amount;
this.Opponent = opponent;
this.Terms = terms;
this.Result = result;
this.ResultColor = rcolor;
}
}
保存/加载投注功能
public void SaveBets()
{
List<Bet> bets = new List<Bet>();
foreach (Bet item in openBetList)
bets.Add(item);
foreach (Bet item in closedBetList)
bets.Add(item);
// Write to the Isolated Storage
XmlWriterSettings xmlWriterSettings = new XmlWriterSettings();
xmlWriterSettings.Indent = true;
using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream stream = myIsolatedStorage.OpenFile("Bets.xml", FileMode.Create))
{
XmlSerializer serializer = new XmlSerializer(typeof(List<Bet>));
using (XmlWriter xmlWriter = XmlWriter.Create(stream, xmlWriterSettings))
{
serializer.Serialize(xmlWriter, bets);
}
}
}
}
public void LoadBets()
{
try
{
using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream stream = myIsolatedStorage.OpenFile("Bets.xml", FileMode.Open))
{
XmlSerializer serializer = new XmlSerializer(typeof(List<Bet>));
List<Bet> data = (List<Bet>)serializer.Deserialize(stream);
if(data.Count > 0)
foreach (Bet item in data)
{
if (item.Result == 0)
openBetList.Add(item);
else
closedBetList.Add(item);
}
}
}
}
catch
{
//add some code here
}
}
谢谢!
答案 0 :(得分:1)
有什么例外?
我记得你需要一个没有参数的构造函数...