private static void RunWorker() { var keepAlive = new KeepAliveObject(); var doNotKeepAlive = new DoNotKeepAliveObject(); doNotKeepAlive = null; GC.Collect(); GC.WaitForPendingFinalizers(); GC.KeepAlive(keepAlive); }
public static void Run() { var keepAlive = new KeepAliveObject(); var doNotKeepAlive = new DoNotKeepAliveObject(); doNotKeepAlive = null; GC.Collect(); GC.WaitForPendingFinalizers(); Assert.True(DoNotKeepAliveObject.Finalized); Assert.False(KeepAliveObject.Finalized); GC.KeepAlive(keepAlive); }