예제 #1
0
        static int TestS16_RetypedFields3()
        {
            S16WithS4 s16 = new S16WithS4();
            S4        s4  = new S4();

            s4.i = 1;
            if (s4.i != 1)
            {
                return(101);
            }
            if (s16.s1.i != 0)
            {
                return(101);
            }

            s16.s1.i = Unsafe.As <S4, int>(ref s4);
            s4.i     = 2;
            s16.s2.i = Unsafe.As <S4, int>(ref s4);
            s4.i     = 3;
            if (s16.s1.i != 1)
            {
                return(101);
            }
            if (s16.s2.i != 2)
            {
                return(101);
            }
            if (s4.i != 3)
            {
                return(101);
            }
            if (s4.i + s16.s1.i + s16.s2.i != 6)
            {
                return(101);
            }

            return(100);
        }
예제 #2
0
        static int TestS16_RetypedFields1()
        {
            S16WithS4 s16 = new S16WithS4();
            S4        s4  = new S4();

            s4.i = 1;
            if (s4.i != 1)
            {
                return(101);
            }
            if (s16.s1.i != 0)
            {
                return(101);
            }

            s16.s1 = s4;
            s4.i   = 2;
            s16.s2 = s4;
            s4.i   = 3;
            if (s16.s1.i != 1)
            {
                return(101);
            }
            if (s16.s2.i != 2)
            {
                return(101);
            }
            if (s4.i != 3)
            {
                return(101);
            }
            if (s4.i + s16.s1.i + s16.s2.i != 6)
            {
                return(101);
            }

            return(100);
        }