获取XmlSerializer以忽略基类的属性

时间:2013-04-24 14:04:52

标签: c# .net xml serialization

我有一个继承自MyBasicHttpBinding的课程(BasicHttpBinding),后者又实现了HttpBindingBase

HttpBindingBase有一个属性ProxyAddress。

我想序列化MyBasicHttpBinding,但我想忽略HttpBindingBase.ProxyAddress

我在MyBasicHttpBinding上有一个名为ToXml()的方法,其实现方式如下:

public string ToXml()
{
    var overrides = new XmlAttributeOverrides();
    overrides.Add(this.GetType(), "ProxyAddress", new XmlAttributes { XmlIgnore = true });

    var serializer = new XmlSerializer(this.GetType(), overrides);
    var builder = new StringBuilder();
    var writer = new StringWriter(builder);

    serializer.Serialize(writer, this);
    return builder.ToString();
}

我在添加覆盖位中尝试了System.ServiceModel.BasicHttpBinding,但它也没有用。

我也尝试过添加:

[XmlIgnore]
public bool ProxyAddressSpecified = false;

MyBasicHttpBindingShouldSerializeProxyAddress()方法。

这些都没有停止XmlSerializer尝试序列化HttpBindingBase.ProxyAddress

所以基本上我不希望HttpBindingBase.ProxyAddress序列化,但不能弄清楚如何。

0 个答案:

没有答案