纪念品模式缺乏

时间:2014-11-17 18:55:57

标签: c# design-patterns memento

在我关于图像处理的项目中,我需要有撤消/重做按钮。 简单地说我在Bitmaps上做了多个操作然后我分配给了picturebox。 我发现了这篇文章http://www.codeproject.com/Articles/10576/An-Undo-Redo-Buffer-Framework 我根据示例代码中的一个创建了我的Originator。

看起来像那样

class Originator : ISupportMemento
{
    private Bitmap state;
    public IMemento Memento
    {
        get
        {
            Memento mcm = new Memento();
            mcm.State = GetMyState();
            return mcm;
        }
        set
        {
            SetMyState(value.State);
        }
    }

    protected object GetMyState()
    {
        return state;
    }

    protected void SetMyState(object newstate)
    {
        state = (Bitmap)newstate;
    }

}

但是当我试图向它提供位图对象时,Compilator会发出错误消息。

    UndoBuffer bufferr = new UndoBuffer();
    Originator orig;
    orig.Memento = (object)_baseimg;

你能帮助我吗,非常抱歉我的英语不好。

0 个答案:

没有答案