我是一名新手,如果我的格式有任何错误,请见谅。
我正在做一个项目,尝试将一个包含类型TDF_Test
列表的类序列化为XML文件,但我一直收到错误消息“反射类型LoadInformation
时出错”。
我也读了内部异常,它说“反射属性'testList'时出错”。testList是我要序列化的对象列表。
这是我的类,它包含了我想要序列化并保存为XML文件的列表。
namespace SPCTool.Core_Classes
{
public class LoadInformation
{
public LoadInformation()
{
testList = new List<TDF.TDF_Test>();
}
public List<TDF.TDF_Test> testList
{ get; set; }
}
}
这是我将其保存到XML的方法。
LoadInformation info = new LoadInformation();
info.testList = someList; // someList is the same type as testList
SaveXML.SaveData(info, filename);
以下是堆栈跟踪:
at SPCTool.User_Interfaces.MainForm.saveToolStripMenuItem_Click(Object sender, EventArgs e) in
M:\astburyj_TestProcess\IGXLTestProcess\TestProcess\tools\SPCReviewTool\SPCReviewTool\User Interface\MainForm.cs:line 940
这里是SaveXML类。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;
namespace SPCTool.Core_Classes
{
public class SaveXML
{
public static void SaveData(object obj, string filename)
{
XmlSerializer sr = new XmlSerializer(obj.GetType());
TextWriter writer = new StreamWriter(filename);
sr.Serialize(writer, obj);
writer.Close();
}
}
}
我做了很多搜索,但没有找到一个好的解决方案。有人知道我该怎么做吗?如果您需要任何其他信息或代码,请告诉我。
非常感谢。
List
属性。另外,你是否在使用XmlSerializer
?能否提供创建序列化器的代码? - Michael Gunter