示例#1
0
        public void Read(TProtocol iprot)
        {
            iprot.IncrementRecursionDepth();
            try
            {
                bool   isset_X = false;
                bool   isset_Y = false;
                bool   isset_Z = false;
                TField field;
                iprot.ReadStructBegin();
                while (true)
                {
                    field = iprot.ReadFieldBegin();
                    if (field.Type == TType.Stop)
                    {
                        break;
                    }
                    switch (field.ID)
                    {
                    case 1:
                        if (field.Type == TType.Struct)
                        {
                            X = new MInterval();
                            X.Read(iprot);
                            isset_X = true;
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 2:
                        if (field.Type == TType.Struct)
                        {
                            Y = new MInterval();
                            Y.Read(iprot);
                            isset_Y = true;
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    case 3:
                        if (field.Type == TType.Struct)
                        {
                            Z = new MInterval();
                            Z.Read(iprot);
                            isset_Z = true;
                        }
                        else
                        {
                            TProtocolUtil.Skip(iprot, field.Type);
                        }
                        break;

                    default:
                        TProtocolUtil.Skip(iprot, field.Type);
                        break;
                    }
                    iprot.ReadFieldEnd();
                }
                iprot.ReadStructEnd();
                if (!isset_X)
                {
                    throw new TProtocolException(TProtocolException.INVALID_DATA, "required field X not set");
                }
                if (!isset_Y)
                {
                    throw new TProtocolException(TProtocolException.INVALID_DATA, "required field Y not set");
                }
                if (!isset_Z)
                {
                    throw new TProtocolException(TProtocolException.INVALID_DATA, "required field Z not set");
                }
            }
            finally
            {
                iprot.DecrementRecursionDepth();
            }
        }
示例#2
0
 public MInterval3(MInterval X, MInterval Y, MInterval Z) : this()
 {
     this.X = X;
     this.Y = Y;
     this.Z = Z;
 }