0

C# で浅いコピーを実行することはわかっています MemberwiseClone() 関数を使用できますが、関数内にオブジェクトがあり、このオブジェクトのコピーを取得したいので、リストに追加したときに同じものを参照しませんここでオブジェクトが変更されたときのオブジェクトは私のコードです

public void Do(object undoState)
    {
        _index += 1;
        if (_buffer.Count > _index)
            _buffer.RemoveRange(_index, _buffer.Count - _index);
        _buffer.Add(undoState);
    }

UndoState オブジェクトを新しいオブジェクトにコピーしてバッファに追加したい

ありがとうございました

4

1 に答える 1

2

ICloneableインターフェイスを実装し、それにコピー ロジックを追加します。Do メソッドでオブジェクトを受け取る代わりに、ICloneable を使用します。

于 2012-01-11T14:02:02.697 に答える