有没有办法让XmlSerializer忽略某些属性而不使用[XmlIgnore]?
我要实现的目标:我想修改通用模型(在许多我不知道的地方使用),以使我的序列化器将忽略某些属性。但是现有的序列化器将以与现在相同的方式工作。
答案 0 :(得分:0)
是的,您可以使用“ ShouldSerializeMyPropertyName”约定:https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/defining-default-values-with-the-shouldserialize-and-reset-methods
public class Foo
{
public string Bar { get; set; }
public bool ShouldSerializeBar()
{
return false;
}
}
可以将该方法设为virtual
并由子类覆盖或根据需要进行驱动。
除此之外,您可以实现IXmlSerializable
,但我怀疑这可能比它对您的用例场景的价值更大。