私は持っている
public bool Included { get; set; }
私が変更したいこと:
public bool IsIncluded { get; set; }
後方互換性を確保したい。IsIncluded のみをコードで定義したいのですが、プロパティが "Included" になる古い 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 のコメントをご覧ください。彼は、修正を行うべき場所 (クラス) で修正をカプセル化するための優れたソリューションを提案しています。おお!!!