Esempio n. 1
0
 public static void ForEach <T>(WeakList <T> list, Action <T> callback) where T : class
 {
     if (list != null)
     {
         list.ForEach(callback);
     }
 }
Esempio n. 2
0
        public void Publish(TPub pub, Action <TSub> callback)
        {
            if (_InstanceSubscribers != null)
            {
                int             pubHash = pub.GetHashCode();
                WeakList <TSub> subs    = null;
                if (_InstanceSubscribers.TryGetValue(pubHash, out subs))
                {
                    subs.ForEach(callback);

                    if (subs.Count == 0)
                    {
                        _InstanceSubscribers.Remove(pubHash);
                    }
                }
            }
            WeakListHelper.Notify(_ClassSubscribers, callback);
        }