저는 약간의 검색을 해왔지만 다른 변수에 대한 참조를 특정 변수에 저장하는 방법을 찾을 수 없습니다. 사용자가 수행 한 작업을 취소하기 위해 클래스를 만들려고합니다.다른 변수에 대한 참조 저장
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));
}
}
여기서 내가 성취하려는 것을 볼 수 있습니다.
내가 겪은 문제;
this.var = var;
은 참조를 저장하지 않지만 참조 된 'var'값은 저장합니다. 간단히 실행할 수 있도록 참조 자체를 어떻게 저장할 수 있습니까?
this.var = val;
내 경우에는 작업을 "실행 취소"하시겠습니까?
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