public static void Main()
Console.WriteLine("Hello World");
public class ObservableProperty<T> where T : struct
public T Value{get; private set;}
public ObservableProperty(T _value)
public void Subscribe(Action<T> action)
public void SetValue(T value)
public static implicit operator T(ObservableProperty<T> property)
public class Resource : ObservableProperty<int>
public Resource(int i) : base(i){}
public Resource r = new Resource(10);
public void OnChange(int i)
Console.WriteLine(x.ToString());