在对一个类进行deserilil化时,我得到了一个stackoverflow。
这是代码。
public static Object Load(this Object Value)
{
if (File.Exists(SaveAsFilePath))
{
System.Xml.Serialization.XmlSerializer GetOBJ = new System.Xml.Serialization.XmlSerializer(Value.GetType().UnderlyingSystemType);
System.IO.TextReader ReadStream = new System.IO.StreamReader(SaveAsFilePath);
Object NewValue = GetOBJ.Deserialize(ReadStream);
ReadStream.Close();
return NewValue;
}
return null;
}
在这里开始使用Break。
System.Xml.Serialization.XmlSerializer GetOBJ = new System.Xml.Serialization.XmlSerializer(Value.GetType().UnderlyingSystemType);
System.IO.TextReader ReadStream = new System.IO.StreamReader(SaveAsFilePath);
Object NewValue = GetOBJ.Deserialize(ReadStream);
并在结束时循环回到获取XMLSerializer。
我无法想象这与写入有关,写得很好,我有一个显示XML代码的文件。但是,如果需要更多代码,请提供建议。