我利用XmlSerializer转换为XML或从XML转换。这是一个示例类:
[XmlRootAttribute("myClass")]
public class MyClass {
private string someField;
[XmlElement("someField")]
public string SomeField {
get {
return someField;
}
set {
someField = value;
}
}
}
XML如下所示:
<myClass>
<someField>Some Value</someField>
</myClass>
我希望能够为此类添加属性。例如,有时我需要在元素中添加更改跟踪。一个属性,比如“IdRef”,将被添加到myClass元素中。
<myClass t:IdRef="someGuid" xmlns:t="uri:some:uri">
<someField>SomeValue</someField>
</myClass>
我希望将IdRef属性保留在主POCO类之外。此外,由于有许多类,如上所述,所以我希望不必为每个类创建一个子类,添加扩展属性。也许使用IXmlSerializer接口创建自定义实现?
更新 我将使用下面描述的简单解决方案。我想我试图“过度思考”这种实现,并在不需要的地方增加复杂性。
答案 0 :(得分:1)
我怎么想?我认为你必须将它们粘贴在你的“POCO”类中,但你可以将它们隐藏在标有“额外序列化标记属性”的区域中,并使用其他属性使它们对你的类的消费者来说几乎是不可见的。 / p>