【发布时间】:2021-09-07 18:20:11
【问题描述】:
我有一个对象 Foo,我将其序列化为 XML 流。
public class Foo {
// The application version, NOT the file version!
public string Version {get;set;}
public string Name {get;set;}
}
Foo foo = new Foo { Version = "1.0", Name = "Bar" };
XmlSerializer xmlSerializer = new XmlSerializer(foo.GetType());
这可以快速、简单地完成当前所需的一切。
我遇到的问题是我需要维护一个带有一些小注释的单独文档文件。如上例所示,Name 是显而易见的,但 Version 是应用程序版本,而不是在这种情况下可以预期的数据文件版本。我还有更多类似的小事想通过评论来澄清。
我知道如果我使用 WriteComment() 函数手动创建我的 XML 文件,我可以做到这一点,但是我可以实现一个可能的属性或替代语法,以便我可以继续使用序列化程序功能吗?
【问题讨论】:
-
我有很多地方想插入评论,所以我不想创建一个循环遍历所有元素、检查名称并插入适当的评论。我也更喜欢将它们添加到元素所在的位置,而不是文件顶部的主要注释块。
-
@tyfius:使用 XmlSerializer(或任何其他序列化器)无法做到这一点,因为编译器不保留源代码 cmets,编译后根本没有地方可以找到序列化器。跨度>
标签: c# .net xml xml-serialization xmlserializer