我有
public bool Included { get; set; }
我想更改为:
public bool IsIncluded { get; set; }
我想要向后兼容。我只想在代码中定义 IsIncluded 但能够读取属性为“包含”的旧 xml。
XmlSerializer 是否支持它以及如何支持?
注意:我试过没有成功......(不反序列化它)
public bool IsIncluded { get; set; }
[Obsolete]
public bool Included
{
set { IsIncluded = value; }
get { return IsIncluded; }
}
更新我只想补充一点,我更喜欢我的解决方案,因为我希望我的 xml 成为 IsIncluded,这对我来说更合适。像我一样做(下面的解决方案),将使我能够更改 xml,但保持以前的版本正常工作。从长远来看,我可能能够删除代码以支持旧版本。
更新 2018-02-01请查看 Greg Petersen 评论下方的解决方案和建议的解决方案。他提出了一个很好的解决方案,以便将更正封装在应该完成的地方(类)。哇!!!