示例#1
0
        private void CheckForUnsubscribe(VersionedLinkedList <IWeakCallback> callbacksForProperty, string propertyName)
        {
            if (callbacksForProperty.IsEmpty)
            {
                _propertyNameToCallbacks.Remove(propertyName);
            }

            UnsubscribeIfNoMoreListeners();
        }
示例#2
0
        private VersionedLinkedList <IWeakCallback> LookupCallbacksForProperty(string propertyName)
        {
            VersionedLinkedList <IWeakCallback> callbacksForProperty = null;

            if (_propertyNameToCallbacks.Contains(propertyName))
            {
                callbacksForProperty = (VersionedLinkedList <IWeakCallback>)_propertyNameToCallbacks[propertyName];
            }
            return(callbacksForProperty);
        }
示例#3
0
 public void Setup()
 {
     _target      = new VersionedLinkedList <object>();
     _testObjects = new List <object>()
     {
         new object(),
         new object(),
         new object(),
     };
 }
示例#4
0
        private VersionedLinkedList <IWeakCallback> LookupOrCreateCallbacksForProperty(string propertyName)
        {
            var callbacksForProperty = LookupCallbacksForProperty(propertyName);

            if (callbacksForProperty == null)
            {
                callbacksForProperty = new VersionedLinkedList <IWeakCallback>();
                _propertyNameToCallbacks.Add(propertyName, callbacksForProperty);
            }
            return(callbacksForProperty);
        }
 public void Setup()
 {
     _target = new VersionedLinkedList<object>();
     _testObjects = new List<object>()
             {
                 new object(),
                 new object(),
                 new object(),
             };
 }