コード例 #1
0
 public static BehaviorsDisposable <IEnumerable <TCollItem> > AddDetailedBehavior <TCollItem>
 (
     this BehaviorsDisposable <IEnumerable <TCollItem> > previousBehavior,
     Action <IEnumerable <TCollItem>, TCollItem, int> onAdd,
     Action <IEnumerable <TCollItem>, TCollItem, int> onRemove
 )
 {
     return(previousBehavior
            .AddBehavior(new DoForEachItemDetailedCollectionBehavior <TCollItem>(onAdd, onRemove)));
 }
コード例 #2
0
        public static BehaviorsDisposable <IEnumerable <TCollItem> > AddBehavior <TCollItem>
        (
            this BehaviorsDisposable <IEnumerable <TCollItem> > previousBehavior,
            IStatelessBehavior <IEnumerable <TCollItem> > behavior
        )
        {
            IEnumerable <TCollItem> collection = previousBehavior.TheObjectTheBehaviorsAreAttachedTo;

            return(AddBehaviorImpl(collection, behavior, previousBehavior));
        }
コード例 #3
0
        public static BehaviorsDisposable <IEnumerable <TCollItem> > AddBehavior <TCollItem>
        (
            this BehaviorsDisposable <IEnumerable <TCollItem> > previousBehaviors,
            Action <TCollItem> onAdd,
            Action <TCollItem> onRemove = null
        )
        {
            IEnumerable <TCollItem> collection = previousBehaviors.TheObjectTheBehaviorsAreAttachedTo;

            return(collection.AddBehaviorImpl <TCollItem>(onAdd, onRemove, previousBehaviors));
        }
コード例 #4
0
        internal BehaviorsDisposable
        (
            DisposableBehaviorContainer <T> disposableBehaviorToAdd,
            BehaviorsDisposable <T> previousBehavior = null
        )
        {
            if (previousBehavior != null)
            {
                _disposableBehaviors.AddAll(previousBehavior._disposableBehaviors);
            }

            _disposableBehaviors.Add(disposableBehaviorToAdd);
        }
コード例 #5
0
        private static BehaviorsDisposable <IEnumerable <TCollItem> > AddBehaviorImpl <TCollItem>
        (
            this IEnumerable <TCollItem> collection,
            Action <TCollItem> onAdd,
            Action <TCollItem> onRemove = null,
            BehaviorsDisposable <IEnumerable <TCollItem> > previousBehavior = null
        )
        {
            DoForEachItemCollectionBehavior <TCollItem> behavior =
                new DoForEachItemCollectionBehavior <TCollItem>(onAdd, onRemove);

            return(collection?.AddBehaviorImpl <TCollItem>(behavior, previousBehavior));
        }
コード例 #6
0
        private static BehaviorsDisposable <IEnumerable <TCollItem> > AddBehaviorImpl <TCollItem>
        (
            this IEnumerable <TCollItem> collection,
            IStatelessBehavior <IEnumerable <TCollItem> > behavior,
            BehaviorsDisposable <IEnumerable <TCollItem> > previousBehavior = null)
        {
            if (collection == null)
            {
                return(null);
            }

            DisposableBehaviorContainer <IEnumerable <TCollItem> > behaviorContainer =
                new DisposableBehaviorContainer <IEnumerable <TCollItem> >(behavior, collection);

            BehaviorsDisposable <IEnumerable <TCollItem> > behaviorsDisposable =
                new BehaviorsDisposable <IEnumerable <TCollItem> >(behaviorContainer, previousBehavior);

            return(behaviorsDisposable);
        }