0

我利用 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 接口创建自定义实现?

更新 我将使用下面描述的简单解决方案。我想我试图“过度思考”这个实现并在不需要的地方增加复杂性。

4

1 回答 1

1

我怎么看?我认为您必须将它们粘贴在您的“POCO”类中,但您可以将它们隐藏在标有“额外序列化标记属性”之类的区域中,并使用其他属性使它们对您的类的消费者几乎不可见。

于 2009-02-02T22:21:44.943 回答