私はWPFプロジェクトに取り組んでおり、オブジェクトのプロパティへの変更がMemberwiseCloneに反映される1つのケースを除いて、プロジェクト全体でうまく機能する1レベルの変更を元に戻す非常に簡単な方法を実装しました。
私がやっていることは、そのオブジェクトのプロパティを追加または編集する前に、オブジェクトで MemberwiseClone を実行することです。ユーザーが元に戻したい場合は、各プロパティを MemberwiseClone オブジェクトから現在のオブジェクトにコピーします。
私は WPF バインディングを使用しているため、MemberwiseClone の使用は魅力的です。これまで、プロパティに加えられた変更は MemberwiseClone に反映されていなかったからです。今回は、別のオブジェクトの ObservableCollection であるオブジェクトにプロパティがあり、ObservableCollection に項目を追加すると、MemberwiseClone によって作成されたオブジェクトにも追加され、完全に元に戻すことはできません。
これを回避する方法はありますか?これについての考えは大歓迎です。
ありがとう。