예제 #1
0
        public ObservableReversablePropertyMemberBinding(INotifyExpression <T> target, string memberName, Func <T, TMember> memberGet, Action <T, TMember> memberSet, INotifyReversableExpression <TMember> value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            if (memberName == null)
            {
                throw new ArgumentNullException("memberName");
            }
            if (memberGet == null)
            {
                throw new ArgumentNullException("memberGet");
            }
            if (memberSet == null)
            {
                throw new ArgumentNullException("memberSet");
            }
            if (target == null)
            {
                throw new ArgumentNullException("target");
            }

            Value      = value;
            MemberName = memberName;
            MemberGet  = memberGet;
            MemberSet  = memberSet;
            Target     = target;
            listener   = new PropertyChangeListener(this);
        }
        public ObservableMemberExpression(INotifyExpression <TTarget> target, string memberName, Func <TTarget, TMember> memberGet)
        {
            if (memberGet == null)
            {
                throw new ArgumentNullException("memberGet");
            }
            if (memberName == null)
            {
                throw new ArgumentNullException("memberName");
            }

            Target     = target;
            MemberGet  = memberGet;
            MemberName = memberName;
            listener   = new PropertyChangeListener(this);
        }
예제 #3
0
 public Entry()
 {
     listener             = new PropertyChangeListener(this);
     Successors.Attached += (obj, e) => listener.Subscribe(this, "Value");
     Successors.Detached += (obj, e) => listener.Unsubscribe();
 }