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