Example #1
0
        static ReactiveNode TryGetNode(CompositeReactiveObject composite)
        {
            ConcurrentDictionary <object, ReactiveNode> dictionary;

            if (weakStrongNodes.TryGetValue(composite.Weak, out dictionary))
            {
                ReactiveNode result;
                dictionary.TryGetValue(composite.Strong, out result);
                return(result);
            }
            return(null);
        }
Example #2
0
        static ReactiveNode GetNode(CompositeReactiveObject composite)
        {
            var dictionary = weakStrongNodes.GetValue(composite.Weak, CreateDictionary);

            return(dictionary.GetOrAdd(composite.Strong, CreateList));
        }
Example #3
0
 public WeakStrongDependency(long notificationsHad, CompositeReactiveObject dependent)
 {
     NotificationsHad = notificationsHad;
     weakReference    = new WeakReference(dependent.Weak);
     strong           = dependent.Strong;
 }