WriteTypeInfo() static private method

static private WriteTypeInfo ( BinaryTypeEnum binaryTypeEnum, Object typeInformation, int assemId, __BinaryWriter sout ) : void
binaryTypeEnum BinaryTypeEnum
typeInformation Object
assemId int
sout __BinaryWriter
return void
        // Token: 0x060052F2 RID: 21234 RVA: 0x001237E4 File Offset: 0x001219E4
        public void Write(__BinaryWriter sout)
        {
            switch (this.binaryHeaderEnum)
            {
            case BinaryHeaderEnum.ArraySinglePrimitive:
                sout.WriteByte((byte)this.binaryHeaderEnum);
                sout.WriteInt32(this.objectId);
                sout.WriteInt32(this.lengthA[0]);
                sout.WriteByte((byte)((InternalPrimitiveTypeE)this.typeInformation));
                return;

            case BinaryHeaderEnum.ArraySingleObject:
                sout.WriteByte((byte)this.binaryHeaderEnum);
                sout.WriteInt32(this.objectId);
                sout.WriteInt32(this.lengthA[0]);
                return;

            case BinaryHeaderEnum.ArraySingleString:
                sout.WriteByte((byte)this.binaryHeaderEnum);
                sout.WriteInt32(this.objectId);
                sout.WriteInt32(this.lengthA[0]);
                return;

            default:
                sout.WriteByte((byte)this.binaryHeaderEnum);
                sout.WriteInt32(this.objectId);
                sout.WriteByte((byte)this.binaryArrayTypeEnum);
                sout.WriteInt32(this.rank);
                for (int i = 0; i < this.rank; i++)
                {
                    sout.WriteInt32(this.lengthA[i]);
                }
                if (this.binaryArrayTypeEnum == BinaryArrayTypeEnum.SingleOffset || this.binaryArrayTypeEnum == BinaryArrayTypeEnum.JaggedOffset || this.binaryArrayTypeEnum == BinaryArrayTypeEnum.RectangularOffset)
                {
                    for (int j = 0; j < this.rank; j++)
                    {
                        sout.WriteInt32(this.lowerBoundA[j]);
                    }
                }
                sout.WriteByte((byte)this.binaryTypeEnum);
                BinaryConverter.WriteTypeInfo(this.binaryTypeEnum, this.typeInformation, this.assemId, sout);
                return;
            }
        }
 // Token: 0x060052ED RID: 21229 RVA: 0x00123558 File Offset: 0x00121758
 public void Write(__BinaryWriter sout)
 {
     sout.WriteByte((byte)this.binaryHeaderEnum);
     sout.WriteInt32(this.objectId);
     sout.WriteString(this.name);
     sout.WriteInt32(this.numMembers);
     for (int i = 0; i < this.numMembers; i++)
     {
         sout.WriteString(this.memberNames[i]);
     }
     for (int j = 0; j < this.numMembers; j++)
     {
         sout.WriteByte((byte)this.binaryTypeEnumA[j]);
     }
     for (int k = 0; k < this.numMembers; k++)
     {
         BinaryConverter.WriteTypeInfo(this.binaryTypeEnumA[k], this.typeInformationA[k], this.memberAssemIds[k], sout);
     }
     if (this.assemId > 0)
     {
         sout.WriteInt32(this.assemId);
     }
 }
示例#3
0
 public void Write(__BinaryWriter sout)
 {
     sout.WriteByte((byte)this.binaryHeaderEnum);
     sout.WriteInt32(this.objectId);
     sout.WriteString(this.name);
     sout.WriteInt32(this.numMembers);
     for (int index = 0; index < this.numMembers; ++index)
     {
         sout.WriteString(this.memberNames[index]);
     }
     for (int index = 0; index < this.numMembers; ++index)
     {
         sout.WriteByte((byte)this.binaryTypeEnumA[index]);
     }
     for (int index = 0; index < this.numMembers; ++index)
     {
         BinaryConverter.WriteTypeInfo(this.binaryTypeEnumA[index], this.typeInformationA[index], this.memberAssemIds[index], sout);
     }
     if (this.assemId <= 0)
     {
         return;
     }
     sout.WriteInt32(this.assemId);
 }