Esempio n. 1
0
        ObservesOnNotifyProperyChanged <TParameter1, TParameter2, TResult>(
            [NotNull] TParameter1 parameter1,
            [NotNull] TParameter2 parameter2,
            [NotNull] Expression <Func <TParameter1, TParameter2, TResult> > propertyExpression,
            bool isCached,
            LazyThreadSafetyMode safetyMode,
            bool isAutoActivate)
            where TResult : class
            where TParameter1 : INotifyPropertyChanged
            where TParameter2 : INotifyPropertyChanged
        {
            var observer = new PropertyReferenceObserverOnNotifyProperyChanged <TParameter1, TParameter2, TResult>(
                parameter1,
                parameter2,
                propertyExpression,
                isCached,
                safetyMode, PropertyObserverFlag.None);

            if (isAutoActivate)
            {
                observer.Activate(true);
            }

            return(observer);
        }
        public static IPropertyReferenceObserverOnNotifyProperyChanged <TResult> ObservesOnNotifyProperyChanged <TResult>(
            [NotNull] Expression <Func <TResult> > propertyExpression,
            bool isAutoActivate)
            where TResult : class
        {
            var observer = new PropertyReferenceObserverOnNotifyProperyChanged <TResult>(propertyExpression, PropertyObserverFlag.None);

            if (isAutoActivate)
            {
                observer.Activate(true);
            }

            return(observer);
        }
Esempio n. 3
0
        CreatePropertyReferenceObserverOnNotifyProperyChanged()
        {
            IPropertyReferenceObserverOnNotifyProperyChanged <TResult> observer;

            if (this.IsDispached)
            {
                observer = new PropertyReferenceObserverOnNotifyProperyChanged <TParameter1, TParameter2, TResult>(
                    this.parameter1,
                    this.parameter2,
                    this.propertyExpression,
                    SynchronizationContext.Current,
                    this.IsCached,
                    this.SafetyMode,
                    this.PropertyObserverFlag);
            }
            else if (this.TaskScheduler != null)
            {
                observer = new PropertyReferenceObserverOnNotifyProperyChanged <TParameter1, TParameter2, TResult>(
                    this.parameter1,
                    this.parameter2,
                    this.propertyExpression,
                    this.TaskScheduler,
                    this.IsCached,
                    this.SafetyMode,
                    this.PropertyObserverFlag);
            }
            else
            {
                observer = new PropertyReferenceObserverOnNotifyProperyChanged <TParameter1, TParameter2, TResult>(
                    this.parameter1,
                    this.parameter2,
                    this.propertyExpression,
                    this.IsCached,
                    this.SafetyMode,
                    this.PropertyObserverFlag);
            }

            if (this.IsAutoActivate)
            {
                observer.Activate(this.IsSilentActivate);
            }

            return(observer);
        }
Esempio n. 4
0
        ObservesOnNotifyProperyChanged <TParameter1, TResult>(
            [NotNull] this TParameter1 parameter1,
            [NotNull] Expression <Func <TParameter1, TResult> > propertyExpression,
            bool isAutoActivate)
            where TResult : class
            where TParameter1 : INotifyPropertyChanged
        {
            var observer =
                new PropertyReferenceObserverOnNotifyProperyChanged <TParameter1, TResult>(
                    parameter1,
                    propertyExpression, PropertyObserverFlag.None);

            if (isAutoActivate)
            {
                observer.Activate(true);
            }

            return(observer);
        }
        public static IPropertyReferenceObserverOnNotifyProperyChanged <TResult> ObservesOnNotifyProperyChanged <TResult>(
            [NotNull] Expression <Func <TResult> > propertyExpression,
            bool isCached,
            LazyThreadSafetyMode safetyMode,
            TaskScheduler taskScheduler,
            bool isAutoActivate)
            where TResult : class
        {
            var observer = new PropertyReferenceObserverOnNotifyProperyChanged <TResult>(
                propertyExpression,
                taskScheduler,
                isCached,
                safetyMode, PropertyObserverFlag.None);

            if (isAutoActivate)
            {
                observer.Activate(true);
            }

            return(observer);
        }