我正在玩一个 undo-redo 实现,我希望它的堆栈上的一个 undo 或 redo 项包含对某个Func<out TResult>
地方的引用,TResult
它本身就是一个Func<TResult>
. 关键是当Func
从撤消堆栈调用时,返回值然后存储在重做堆栈中(反之亦然)。
我不确定是否可以这样做,因此这个问题。
正如您在此处看到的那样,我能想到的最好的方法都行不通:
struct UndoRedoItem
{
public Func<Func<Func<Func<Func<Func<......>>>>>> UndoOrRedoFunc;
public string Description;
...
}