私はオブジェクトのリストを持っていますList<Bar> barlist
. これらのBar
orobjects はかなり複雑であり、私はそれらを深くコピーせずに進んでいきたいと思っています。
BindingSource
ただし、ユーザーが、BindingNavigator
およびを使用してそれらを変更できるようにしたいと思いますDataGridView
。ただし、をバーリストに設定しDataSource
て値をBindingSource
変更すると、リストが変更されます (明らかに独自のリストを保持していないか、浅いコピーのみを使用しているため)。
問題は、ユーザーが自分の変更を破棄したい場合はどうするかということです。BindingSource
ディープ コピーされたリストを指定する場合は、それらを手動で元に戻すか、元のリストに適用しないでください。ただし、ディープコピーは避けたいと思います。
代替パスはありますか?それとも、オブジェクトにマークを付けてSerializable
ディープコピーする以外に選択肢はありませんか?