.NET XML序列化,可能使用与PropertySpecified不同的方法名称来忽略属性?

时间:2010-06-09 07:39:45

标签: .net xml-serialization attributes

我有一堆我打算序列化的类,以便通过webservice调用进行传输。

这些类已经具有返回给定“真实”属性是否具有值的属性,这些属性在我们产品的大量代码中根深蒂固。

是否有可能(例如通过属性)指定如果指定的其他属性返回true,则应包含每个“real”属性,而不是名为RealPropertyNameSpecified的属性?

即。例如,如果我有这个课程:

[XmlType("test")]
public class TestClass
{
    [XmlIgnore]
    public bool NameHasGotAValue { get; set; }

    [XmlElement("name")]
    public string Name { get; set; }
}

我可以使用NameHasGotAValue作为Name属性的“* Specified”方法,还是我唯一可以选择重命名NameHasGotAValue,添加NameSpecified方法或实现IXmlSerializable?

1 个答案:

答案 0 :(得分:1)

HI,

据我所知,为了满足您的要求,iXMLSerializable接口的实现是最佳解决方案。