public void Sub(HasConstructStruct invar, ref HasConstructStruct refvar, out HasConstructStruct outvar)
 {
     outvar   = invar;
     outvar.x = invar.x - refvar.x;
     refvar.x = invar.x;
     LuaTestCommon.Log("refvar.x:" + refvar.x + ",refvar.y:" + refvar.y + ", refvar.z:" + refvar.z);
 }
 public void Add(HasConstructStruct invar, ref HasConstructStruct refvar, out HasConstructStruct outvar)
 {
     outvar   = invar;
     outvar.x = invar.x + refvar.x;
     refvar.x = invar.x;
 }
 public BClass(int x, int y, string z) : base(x, y, z)
 {
     b_struct = new HasConstructStruct(x, y, z);
 }
 public CClass(int x, int y, string z)
 {
     c_struct = new HasConstructStruct(x, y, z);
 }