public void Reset() { _recipient = null; _recipientInternal = null; _recipientPrivate = null; _recipientReference = null; }
public void TestGarbageCollectionForAnonymousMethodPrivate() { Messenger.Reset(); _recipientPrivate = new TestRecipientPrivate(WeakActionTestCase.AnonymousMethod); _recipientReference = new WeakReference(_recipientPrivate); Assert.AreEqual(null, _recipientPrivate.Content); Assert.IsTrue(_recipientReference.IsAlive); const string message = "Hello world"; Messenger.Default.Send(message); Assert.AreEqual(message, _recipientPrivate.Content); _recipientPrivate = null; GC.Collect(); #if SILVERLIGHT // Cannot GC the anonymous method reference in Silverlight Assert.IsTrue(_recipientReference.IsAlive); _recipientPrivate = (TestRecipientPrivate)_recipientReference.Target; Messenger.Default.Unregister(_recipientPrivate); _recipientPrivate = null; GC.Collect(); Assert.IsFalse(_recipientReference.IsAlive); #else Assert.IsFalse(_recipientReference.IsAlive); #endif }
public void TestGarbageCollectionForAnonymousMethodPrivate() { Messenger.Reset(); _recipientPrivate = new TestRecipientPrivate(WeakActionTestCase.AnonymousMethod); _recipientReference = new WeakReference(_recipientPrivate); Assert.AreEqual(null, _recipientPrivate.Content); Assert.IsTrue(_recipientReference.IsAlive); const string message = "Hello world"; Messenger.Default.Send(message); Assert.AreEqual(message, _recipientPrivate.Content); _recipientPrivate = null; GC.Collect(); Assert.IsFalse(_recipientReference.IsAlive); }
public void TestGarbageCollectionForAnonymousStaticMethodPrivate() { Messenger.Reset(); TestRecipientPrivate.Reset(); _recipientPrivate = new TestRecipientPrivate(WeakActionTestCase.AnonymousStaticMethod); _recipientReference = new WeakReference(_recipientPrivate); Assert.AreEqual(null, TestRecipientPrivate.ContentStatic); Assert.IsTrue(_recipientReference.IsAlive); const string message = "Hello world"; Messenger.Default.Send(message); Assert.AreEqual(message, TestRecipientPrivate.ContentStatic); _recipientPrivate = null; GC.Collect(); Assert.IsFalse(_recipientReference.IsAlive); }