Exemplo n.º 1
0
        private void OnPropertyChanged(object sender, PropertyChangedEventArgs args)
        {
            ObservedNode node = null;

            if (this.nodes.TryGetValue(args.PropertyName, out node))
            {
                this.whenChanged();
                if (node.IsObservable)
                {
                    node.ResetWeakHandler(sender);
                }
            }
        }
Exemplo n.º 2
0
        public ObservedNode GetOrSet(MemberInfo member, string name = null)
        {
            Check.NotNull(member, nameof(member));

            if (this.IsObservable)
            {
                string       memberName = name ?? member.Name;
                ObservedNode property;
                if (!this.nodes.TryGetValue(memberName, out property))
                {
                    property = new ObservedNode(memberName, CanBeObserved(member));
                    this.nodes[memberName] = property;
                }

                return(property);
            }
            else
            {
                return(this);
            }
        }
Exemplo n.º 3
0
 public ObservedNodeBuilder()
 {
     this.Root = ObservedNode.CreateRoot();
 }