Szukałem trochę, ale nie mogę znaleźć żadnego sposobu przechowywania odniesienia do innej zmiennej w pewnej zmiennej. Próbuję zrobić zajęcia, aby cofnąć rzeczy wykonane przez użytkownika;Przechowuj odwołanie w innej zmiennej
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));
}
}
Myślę, że można zobaczyć, co staram się osiągnąć tutaj.
Problem, który prowadziłem;
this.var = var;
nie przechowuje odwołanie, ale wartość wskazanej „var”. Jak mogę zapisać referencję, więc mogę po prostu uruchomić;
this.var = val;
do "cofnąć" działanie, w moim przypadku?
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