c# – 如何XML序列化对象列表数组?
发布时间:2020-12-15 21:33:32 所属栏目:百科 来源:网络整理
导读:当我尝试 XML序列化列表数组时,我收到这些错误. Unable to generate a temporary class (result=1). error CS1026: ) expected error CS1002: ; expected … error CS1525: Invalid expression term ‘)’ error CS1002: ; expected 这是我的代码: 这是触发
当我尝试
XML序列化列表数组时,我收到这些错误.
这是我的代码: 这是触发异常的方法. public static string SerializeToString<T>(T obj) { XmlSerializer serializer = new XmlSerializer(typeof(T)); using (StringWriter writer = new StringWriter()) { serializer.Serialize(writer,obj); return writer.ToString(); } } 这是传递给它的var: List<Transaction>[] allTransactions = new List<Transaction>[20]; 谢谢你的帮助. [UPDATE] public class TransactionCollection { public List<Transaction>[] transactions; public TransactionCollection() { } public void Set(List<Transaction>[] t) { transactions = t; } } 解决方法
我不确切地知道;错误有点令人沮丧.
但是,如果您宁愿完成某些事情而不是诊断问题,那么只需将列表转换为数组: public void Run() { var allTransactions = new List<Transaction>[20]; for (int i=0; i < allTransactions.Length; i++) { allTransactions[i] = new List<Transaction>(); } var a = Array.ConvertAll(allTransactions,x => x.ToArray()); var s = SerializeToString(a); System.Console.WriteLine("{0}",s); } 结果: <ArrayOfArrayOfTransaction> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> <ArrayOfTransaction /> </ArrayOfArrayOfTransaction> ps:您不需要将数组“包装”到包含类型中以便序列化它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |