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