static void Func() { NonRefCounted obj = new NonRefCounted(); obj.Field = new RefCounted(); obj = new NonRefCounted(); obj.Field = new RefCounted(); obj = new NonRefCounted(); obj.Field = new RefCounted(); obj = new NonRefCounted(); obj.Field = new RefCounted(); Assert( 1, GC.ReferenceCount(obj.Field) ); Assert( 4, RefCounted.Count ); }
static void Func() { NonRefCounted obj = new NonRefCounted(); obj.Field = new RefCounted(); obj = new NonRefCounted(); obj.Field = new RefCounted(); obj = new NonRefCounted(); obj.Field = new RefCounted(); obj = new NonRefCounted(); obj.Field = new RefCounted(); Assert(1, GC.ReferenceCount(obj.Field)); Assert(4, RefCounted.Count); }