C#:要成为XML可序列化,从IEnumerable继承的类型必须具有Add(Sys
发布时间:2020-12-15 08:03:39 所属栏目:百科 来源:网络整理
导读:所以我有以下代码: private static string FindAppointmentsAsXmlString(CalendarView calendar,ExchangeService serv) { FindItemsResults appointments = serv.FindAppointments(WellKnownFolderName.Calendar,calendar);var serializer = new XmlSeriali
所以我有以下代码:
private static string FindAppointmentsAsXmlString(CalendarView calendar,ExchangeService serv) { FindItemsResults appointments = serv.FindAppointments(WellKnownFolderName.Calendar,calendar); var serializer = new XmlSerializer(appointments.GetType()); var writer = new StringWriter(); try{ serializer.Serialize(writer,appointments); Console.WriteLine(writer.GetStringBuilder().ToString()); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(ex); Console.ReadLine(); } return writer.GetStringBuilder().ToString(); } 初始化序列化程序时,我得到异常: 要成为XML可序列化,从IEnumerable继承的类型必须具有 Microsoft.Exchange.WebServices.Data.FindItemsResults未实现Add(System.Object). 我一直在搜索,我得出的结论是我必须添加一个公共的Add(Object obj)方法.现在我不确定这个方法应该包含什么或什么时候被调用,有人能指出我正确的方向吗? Add方法需要手动添加每个约会吗? 我发现一些有用的链接: 非常感激. 解决方法
Add()方法应该具有IEnumerable对象中元素类型的单个参数.例如,如果FindItemsResults实现IEnumerable< T>然后你可以添加方法void Add(T value).如果希望FindItemsResults为只读,则可以通过ToList()扩展方法将FindItemsResults转换为List,并序列化列表而不是FindItemsResults对象本身.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |