예제 #1
0
        public void Unregister(BaseSubject <T> baseSubject, IObserver <T> observer)
        {
            if (this.mappings.ContainsKey(baseSubject))
            {
                var subject   = this.mappings.Keys.FirstOrDefault(key => key == baseSubject);
                var observers = this.mappings[baseSubject];

                if (observers.Contains(observer))
                {
                    this.mappings[baseSubject].Remove(observer);
                }
            }
        }
예제 #2
0
 public void Register(BaseSubject <T> baseSubject, IObserver <T> observer)
 {
     if (this.mappings.ContainsKey(baseSubject))
     {
         var subject   = this.mappings.Keys.FirstOrDefault(key => key == baseSubject);
         var observers = this.mappings[baseSubject];
         this.mappings[baseSubject].Add(observer);
     }
     else
     {
         this.mappings.Add(baseSubject, new List <IObserver <T> > {
             observer
         });
     }
 }