// Template method pattern public virtual void Subscribe(IStateEventSubscriber subscriber, IStateEventNotifier notifier) { if (subscriber == null) throw new ArgumentNullException("subscriber"); if (notifier == null) throw new ArgumentNullException("notifier"); if (_subscriptions.Count(s => s.Notifier == notifier) > 0) throw new ArgumentException("Notifier has already been subscribed", "notifier"); _subscriptions.Add(new StateEventSubscription(subscriber, notifier)); notifier.Changed += new StateEventHandler(NotifierChanged); }
public virtual void Subscribe(IStateEventSubscriber subscriber, IStateEventNotifier notifier) // Template method pattern { if (subscriber == null) { throw new ArgumentNullException("subscriber"); } if (notifier == null) { throw new ArgumentNullException("notifier"); } if (_subscriptions.Count(s => s.Notifier == notifier) > 0) { throw new ArgumentException("Notifier has already been subscribed", "notifier"); } _subscriptions.Add(new StateEventSubscription(subscriber, notifier)); notifier.Changed += new StateEventHandler(NotifierChanged); }
public StateEventSubscription(IStateEventSubscriber subscriber, IStateEventNotifier notifier) { _subscriber = subscriber; _notifier = notifier; }