Beispiel #1
0
        public static void StepInOrThrow(
            this ICyclicAccessGuard <AccessTrace> guard,
            AccessContext context,
            object sender,
            string propertyName
            )
        {
            var trace = new AccessTrace()
            {
                Context = context, Sender = sender, PropertyName = propertyName
            };

            guard.StepInOrThrow(trace);
        }
Beispiel #2
0
        public static bool TryStepIn(
            this ICyclicAccessGuard <AccessTrace> guard,
            AccessContext context,
            object sender,
            string propertyName
            )
        {
            var trace = new AccessTrace()
            {
                Context = context, Sender = sender, PropertyName = propertyName
            };

            return(guard.TryStepIn(trace));
        }
Beispiel #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:UsePropertyBase"/> class.
        /// </summary>
        internal UsedPropertyBase(string name, UsedSubproperty child,
                                  TraversalOptions traversalOptions)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            this.Child             = child;
            this.Name              = name;
            this.tracedItems       = new List <INotifyPropertyChanged>();
            this.TraversalOptions  = traversalOptions;
            this.cyclicAccessGuard = new CyclicAccessGuard <AccessTrace>(1, cyclicAccessRecord);
        }
Beispiel #4
0
 public static void StepInOrThrow(this ICyclicAccessGuard <AccessTrace> guard)
 {
     guard.StepInOrThrow(null);
 }
Beispiel #5
0
 public static bool TryStepIn(this ICyclicAccessGuard <AccessTrace> guard)
 {
     return(guard.TryStepIn(null));
 }