//// instance TestStructByRefInvoke.foo.Increment
        //void TestStructByRefInvoke_foo_Increment(TestStructByRefInvoke_foo __that)
        //{
        //    __that.field32 = (__that.field32 + 1);
        //}

        public void Increment(ref foo shadow)
        {
            // https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150615
            this.field32++;

            shadow.field32 = this.field32;
        }
        //// instance TestStructByRefInvoke.foo.Increment
        //void TestStructByRefInvoke_foo_Increment(TestStructByRefInvoke_foo __that)
        //{
        //    __that.field32 = (__that.field32 + 1);
        //}

        public void Increment(ref foo shadow)
        {
            // https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150615
            this.field32++;

            shadow.field32 = this.field32;
        }
 public static void PrintCopy(foo copy)
 {
     // System.InvalidOperationException: C : Opcode not implemented: ldarga.s at TestStructByRefInvoke.foo.PrintCopy
     copy.Print();
 }
 public static void PrintCopy(foo copy)
 {
     // System.InvalidOperationException: C : Opcode not implemented: ldarga.s at TestStructByRefInvoke.foo.PrintCopy
     copy.Print();
 }