Example #1
0
 static MyStru Foo(MyStru val, ref MyStru rval, out MyStru oval)
 {
     rval.f_float = val.f_float + 100;
     rval.f_long  = 789;
     oval         = rval;
     return(oval);
 }
Example #2
0
        public static int Entry()
        {
            MyStru[] sary = new MyStru[30];
            for (int i = 0; i < sary.Length; ++i)
            {
                sary[i].fldI4 = i + 1;
                sary[i].fldR8 = i * 100 + 0.1234567;
            }

            for (int i = sary.Length - 1; i >= 0; --i)
            {
                if (sary[i].fldI4 != i + 1)
                {
                    return(1);
                }
                if (!sary[i].fldR8.IsEquals(i * 100 + 0.1234567))
                {
                    return(2);
                }
            }

            //MyStru[,,] sary3d = new MyStru[5, 4, 3];

            return(0);
        }
Example #3
0
 private static MyStru Foo1(MyStru s, ref MyStru rs, out MyStru os)
 {
     rs = s;
     os = new MyStru {
         fldI4 = 123, fldR8 = 3.1415926
     };
     return(os);
 }
Example #4
0
        public static bool Entry()
        {
            MyStru stru = new MyStru(777, 888);
            MyStru stru2;
            var    res = Foo(new MyStru(), ref stru, out stru2);

            if (stru.f_float == stru2.f_float &&
                stru.f_long == stru2.f_long &&
                res.f_float == stru2.f_float &&
                res.f_long == stru2.f_long)
            {
                return(true);
            }
            return(false);
        }
Example #5
0
        public static int Entry()
        {
            sfldI2 = 26;
            MyStru rs  = new MyStru();
            var    ret = Foo1(new MyStru {
                fldI4 = 10, fldR8 = 1.44
            }, ref rs, out var os);

            if (ret.fldI4 != 123)
            {
                return(1);
            }
            if (ret.fldR8 != 3.1415926)
            {
                return(2);
            }
            if (ret.fldI4 != os.fldI4)
            {
                return(3);
            }
            if (ret.fldR8 != os.fldR8)
            {
                return(4);
            }
            if (rs.fldI4 != 10)
            {
                return(5);
            }
            if (rs.fldR8 != 1.44)
            {
                return(6);
            }

            MyStruHasRef rs2  = new MyStruHasRef();
            var          ret2 = Foo2(new MyStruHasRef {
                fldI8 = 999999
            }, ref rs2, out var os2);

            if (ret2.cls.fld != 42)
            {
                return(7);
            }
            if (ret2.fldI8 != -1000001)
            {
                return(8);
            }
            if (rs2.cls.fld != os2.cls.fld)
            {
                return(9);
            }
            if (rs2.cls.fld != ret2.cls.fld)
            {
                return(10);
            }
            if (ret2.fldI8 != rs2.fldI8)
            {
                return(11);
            }
            if (os2.fldI8 != -2)
            {
                return(12);
            }

            if (sfldI2 != 26)
            {
                return(13);
            }

            return(0);
        }