示例#1
0
        public void Parse(ProtoBuf.ProtoReader source)
        {
            int fieldNumber = 0;

            while ((fieldNumber = source.ReadFieldHeader()) > 0)
            {
                switch (fieldNumber)
                {
                default:
                    source.SkipField();
                    break;


                case 1: //valueType LABEL_REQUIRED TYPE_ENUM .ProtoTable.UnionCellType TwosComplement
                    valueType = (ProtoTable.UnionCellType)source.ReadInt32();
                    break;

                case 2: //eValues LABEL_OPTIONAL TYPE_MESSAGE .ProtoTable.EveryValue TwosComplement
                    eValues = new ProtoTable.EveryValue();
                    ProtoBuf.SubItemToken eValuestoken = ProtoBuf.ProtoReader.StartSubItem(source);
                    eValues.Parse(source);
                    ProtoBuf.ProtoReader.EndSubItem(eValuestoken, source);
                    break;

                case 3: //fixValue LABEL_OPTIONAL TYPE_INT32  TwosComplement
                    fixValue = source.ReadInt32();
                    break;

                case 4: //fixInitValue LABEL_OPTIONAL TYPE_INT32  TwosComplement
                    fixInitValue = source.ReadInt32();
                    break;

                case 5: //fixLevelGrow LABEL_OPTIONAL TYPE_INT32  TwosComplement
                    fixLevelGrow = source.ReadInt32();
                    break;
                }
            }
        }