コード例 #1
0
        public override void Write(BinaryFormatterWriter output)
        {
            switch (this._binaryHeaderEnum)
            {
            case BinaryHeaderEnum.ArraySinglePrimitive:
                output.Write((byte)this._binaryHeaderEnum);
                output.Write(this.ObjectId);
                output.Write(this._lengthA[0]);
                output.Write((byte)((PrimitiveTypeEnum)this._typeInformation));
                return;

            case BinaryHeaderEnum.ArraySingleObject:
                output.Write((byte)this._binaryHeaderEnum);
                output.Write(this.ObjectId);
                output.Write(this._lengthA[0]);
                return;

            case BinaryHeaderEnum.ArraySingleString:
                output.Write((byte)this._binaryHeaderEnum);
                output.Write(this.ObjectId);
                output.Write(this._lengthA[0]);
                return;
            }
            output.Write((byte)this._binaryHeaderEnum);
            output.Write(this.ObjectId);
            output.Write((byte)this._binaryArrayTypeEnum);
            output.Write(this._rank);
            for (int i = 0; i < this._rank; i++)
            {
                output.Write(this._lengthA[i]);
            }
            if ((this._binaryArrayTypeEnum == BinaryArrayTypeEnum.SingleOffset) || ((this._binaryArrayTypeEnum == BinaryArrayTypeEnum.JaggedOffset) || (this._binaryArrayTypeEnum == BinaryArrayTypeEnum.RectangularOffset)))
            {
                for (int j = 0; j < this._rank; j++)
                {
                    output.Write(this._lowerBoundA[j]);
                }
            }
            output.Write((byte)this._binaryTypeEnum);
            BinaryTypeConverter.WriteTypeInfo(this._binaryTypeEnum, this._typeInformation, this._assemId, output);
        }
コード例 #2
0
 public override void Write(BinaryFormatterWriter output)
 {
     output.Write((byte)this.BinaryHeaderEnum);
     output.Write(this.ObjectId);
     output.Write(this.Name);
     output.Write(this.NumMembers);
     for (int i = 0; i < this.NumMembers; i++)
     {
         output.Write(this.MemberNames[i]);
     }
     for (int j = 0; j < this.NumMembers; j++)
     {
         output.Write((byte)this.BinaryTypeEnumArray[j]);
     }
     for (int k = 0; k < this.NumMembers; k++)
     {
         BinaryTypeConverter.WriteTypeInfo(this.BinaryTypeEnumArray[k], this.TypeInformationArray[k], this.MemberAssemIds[k], output);
     }
     if (this.AssemId > 0)
     {
         output.Write(this.AssemId);
     }
 }