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); }
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); } }