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 回答