Beispiel #1
0
    public static void Main()
    {
        TestParameterPassing2 obj = new TestParameterPassing2();

        Func(obj);
        Assert(1, Count);
        Assert(1, GC.ReferenceCount(obj));
    }
 private static void Func2( TestParameterPassing2 obj )
 {
     Assert( 2, GC.ReferenceCount(obj) );
     TestParameterPassing2 o2 = obj;
     Assert( 3, GC.ReferenceCount(o2) );
     obj = null;
     Assert( 2, GC.ReferenceCount(o2) );
 }
    public static void Main()
    {

        TestParameterPassing2 obj = new TestParameterPassing2();
        Func( obj );
        Assert( 1, Count );
        Assert( 1, GC.ReferenceCount(obj) );
    }
Beispiel #4
0
    private static void Func2(TestParameterPassing2 obj)
    {
        Assert(2, GC.ReferenceCount(obj));
        TestParameterPassing2 o2 = obj;

        Assert(3, GC.ReferenceCount(o2));
        obj = null;
        Assert(2, GC.ReferenceCount(o2));
    }
Beispiel #5
0
    private static void Func(TestParameterPassing2 obj)
    {
        Assert(2, GC.ReferenceCount(obj));
        obj = new TestParameterPassing2();
        Assert(1, GC.ReferenceCount(obj));
        Assert(2, Count);

        Func2(obj);
    }
    private static void Func( TestParameterPassing2 obj )
    {
        Assert( 2, GC.ReferenceCount(obj) );
        obj = new TestParameterPassing2();
        Assert( 1, GC.ReferenceCount(obj) );
        Assert( 2, Count );

        Func2( obj );
    }