using System;
public class Program
{
public static void Main()
var h = new TwoStepHistory<Baka>();
h.Value = new Baka{Val = "test1"};
h.Value = new Baka{Val = "test2"};
Console.WriteLine(h.OldValue.Val);
Console.WriteLine(h.Value.Val);
}
struct TwoStepHistory<T>
private T _v0;
public T Value
get
return _v0;
set
OldValue = _v0;
_v0 = value;
public T OldValue
get;
private set;
class Baka
public string Val;