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))); }
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)); }
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)); }
internal BehaviorsDisposable ( DisposableBehaviorContainer <T> disposableBehaviorToAdd, BehaviorsDisposable <T> previousBehavior = null ) { if (previousBehavior != null) { _disposableBehaviors.AddAll(previousBehavior._disposableBehaviors); } _disposableBehaviors.Add(disposableBehaviorToAdd); }
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)); }
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); }