我利用 XmlSerializer 与 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 接口创建自定义实现?
更新 我将使用下面描述的简单解决方案。我想我试图“过度思考”这个实现并在不需要的地方增加复杂性。