He estado buscando un poco, pero no puedo encontrar ninguna forma de almacenar una referencia a otra variable en una determinada variable. Estoy tratando de hacer una clase para deshacer las cosas hechas por el usuario;Almacenar una referencia en otra variable
class UndoAction
{
public object var;
public object val;
public UndoAction(ref object var, object val)
{
this.var = var;
this.val = val;
}
public static List<UndoAction> history = new List<UndoAction>();
public static void AddHistory(ref object var, object val)
{
history.Add(new UndoAction(ref var, val));
}
}
Supongo que puede ver lo que estoy tratando de lograr aquí.
Problema que corrí;
this.var = var;
no almacena la referencia, pero el valor de la referencia 'var'. ¿Cómo puedo almacenar la referencia en sí misma, así puedo simplemente ejecutarla?
this.var = val;
para "deshacer" una acción, en mi caso?
http://stackoverflow.com/a/4543089 – dtb
http://stackoverflow.com/a/6346059 – dtb
http://blogs.msdn.com/b/ericlippert/archive/2011/06/23/ref -returns-and-ref-locals.aspx – dtb