main
 1using System;
 2using System.ComponentModel;
 3using System.Linq.Expressions;
 4using gorilla.commons.utility;
 5
 6namespace presentation.windows
 7{
 8    public abstract class Observable<T> : INotifyPropertyChanged
 9    {
10        public event PropertyChangedEventHandler PropertyChanged = (o, e) => {};
11
12        protected void update(params Expression<Func<T, object>>[] properties)
13        {
14            properties.each(x =>
15            {
16                PropertyChanged(this, new PropertyChangedEventArgs(x.pick_property().Name));
17            });
18        }
19    }
20}