protected override void OnAttached()
        {
            base.OnAttached();
            DockLayoutManager manager = AssociatedObject as DockLayoutManager;

            if (manager != null && !managers.Contains(manager))
            {
                lock (managers) {
                    foreach (var m in managers)
                    {
                        DockLayoutManagerLinker.Link(manager, m);
                    }
                    managers.Add(manager);
                }
            }
        }
 /// <summary>
 /// Register a cuda context for reference via <see cref="GetContextForDeviceId"/> (used for context restoration).
 /// </summary>
 /// <param name="context"></param>
 internal static void RegisterContext(CudaContext context, CudaStream stream)
 {
     if (!RegisteredContexts.Contains(context))
     {
         RegisteredContexts.Add(context);
         RegisteredStreamsByContext.Add(context, stream);
     }
 }
        public void TestAddedWeakReferenceIsContained()
        {
            var obj     = new object();
            var weakRef = new WeakReference <object>(obj);
            var list    = new WeakList <object> {
                weakRef
            };

            Assert.That(list.Contains(weakRef), Is.True);
        }
        public void TestAddWeakReference()
        {
            object obj     = new object();
            var    weakRef = new WeakReference <object>(obj);
            var    list    = new WeakList <object> {
                weakRef
            };

            Assert.That(list.Contains(weakRef), Is.True);

            GC.KeepAlive(obj);
        }
        public void TestRemoveWeakReference()
        {
            object obj     = new object();
            var    weakRef = new WeakReference <object>(obj);
            var    list    = new WeakList <object> {
                weakRef
            };

            list.Remove(weakRef);

            Assert.That(list.Count(), Is.Zero);
            Assert.That(list.Contains(weakRef), Is.False);

            GC.KeepAlive(obj);
        }
        public void TestCountIsZeroAfterClear()
        {
            object obj     = new object();
            var    weakRef = new WeakReference <object>(obj);
            var    list    = new WeakList <object> {
                obj, weakRef
            };

            list.Clear();

            Assert.That(list.Count(), Is.Zero);
            Assert.That(list, Does.Not.Contain(obj));
            Assert.That(list.Contains(weakRef), Is.False);

            GC.KeepAlive(obj);
        }