IEditableObjectとIRevertibleChangeTracking(両方ともSystem.ComponentModel名前空間から)の違いは何ですか?最初のトランザクションは明示的なトランザクションをサポートしているように見えますが、2番目のトランザクションはより暗黙的ですが、最終的な結果は同じです。これをコードに実装するにはどうすればよいですか?現時点では、BeginEditで何もせず、 EndEditとCancelEditでそれぞれRejectChangesとAcceptChangesを呼び出します。私の問題は、これがBeginEditの前に行われた変更も受け入れることです。
それは本当にマイクロソフトが望んでいたことですか、それとも私は2つの相互に排他的なインターフェイスを実装しようとしていますか?