首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何序列化DateTimeFormatInfo类型的对象?

如何序列化DateTimeFormatInfo类型的对象?
EN

Stack Overflow用户
提问于 2014-04-14 15:15:04
回答 1查看 291关注 0票数 0

我想序列化DatetimeFormatInfo类型的对象。

我尝试了以下代码:

代码语言:javascript
复制
DateTimeFormatInfo dateTimeFormat = new DateTimeFormatInfo();
dateTimeFormat.ShortDatePattern = "dd-MMM-yy";
xs = new XmlSerializer(dateTimeFormat.GetType());
StreamWriter sw = new StreamWriter("Setting.xml");
xs.Serialize(sw, dateTimeFormat);

但它抛出了下面的异常。

System.InvalidOperationException未被处理。 生成XML文档时出错。 没有预料到System.Globalization.GregorianCalendar类型。 使用XmlIncludeSoapInclude属性指定静态不知道的类型。

我需要添加什么来序列化DateTimeFormatInfo吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-08 12:33:32

您需要在XmlSerializer中包含要序列化的成瘾对象类型的列表。在您的示例中,您需要添加对象类型System.Globalization.GregorianCalendar

代码语言:javascript
复制
        System.Globalization.DateTimeFormatInfo dateTimeFormat = new System.Globalization.DateTimeFormatInfo();
        dateTimeFormat.ShortDatePattern = "dd-MMM-yy";

        // Add here all the extra types you need to serialize
        Type[] extraTypes = new Type[] { typeof(System.Globalization.GregorianCalendar) };

        System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(dateTimeFormat.GetType(), extraTypes);
        System.IO.StreamWriter sw = new System.IO.StreamWriter(@"c:\testso.xml");
        xs.Serialize(sw, dateTimeFormat);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23063795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档