internal static void WriteTypeInfo(BinaryTypeEnum binaryTypeEnum, object typeInformation, int assemId, BinaryFormatterWriter output)
        {
            switch (binaryTypeEnum)
            {
            case BinaryTypeEnum.Primitive:
            case BinaryTypeEnum.PrimitiveArray:
                output.Write((byte)(PrimitiveTypeEnum)typeInformation);
                return;

            case BinaryTypeEnum.String:
            case BinaryTypeEnum.Object:
            case BinaryTypeEnum.ObjectArray:
            case BinaryTypeEnum.StringArray:
                return;

            case BinaryTypeEnum.ObjectUrt:
                output.Write(typeInformation.ToString());
                return;

            case BinaryTypeEnum.ObjectUser:
                output.Write(typeInformation.ToString());
                output.Write(assemId);
                return;
            }
            throw new SerializationException(RemotingResources.SerializationTypeWrite.Format(binaryTypeEnum));
        }
 public void Write(BinaryFormatterWriter output)
 {
     this._majorVersion = 1;
     this._minorVersion = 0;
     output.Write((byte)this._binaryHeaderEnum);
     output.Write(this._topId);
     output.Write(this._headerId);
     output.Write(1);
     output.Write(0);
 }
Example #3
0
 public void Write(BinaryFormatterWriter output)
 {
     if (this.NullCount == 1)
     {
         output.Write((byte)10);
     }
     else if (this.NullCount < 0x100)
     {
         output.Write((byte)13);
         output.Write((byte)this.NullCount);
     }
     else
     {
         output.Write((byte)14);
         output.Write(this.NullCount);
     }
 }
Example #4
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]);
     }
     if (this.AssemId > 0)
     {
         output.Write(this.AssemId);
     }
 }
 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);
     }
 }
Example #6
0
 public void Write(BinaryFormatterWriter output)
 {
     output.Write((byte)8);
     output.Write((byte)this.PrimitiveTypeEnum);
     output.WriteValue(this.PrimitiveTypeEnum, this.Value);
 }
 public override void Write(BinaryFormatterWriter output)
 {
     output.Write((byte)6);
     output.Write(ObjectId);
     output.Write(Value);
 }
        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 void Write(BinaryFormatterWriter output)
 {
     output.Write((byte)12);
     output.Write(this._assemId);
     output.Write(this._assemblyString);
 }
Example #10
0
 public void Write(BinaryFormatterWriter output)
 {
     output.Write((byte)9);
     output.Write(this._idRef);
 }
Example #11
0
 public void Write(BinaryFormatterWriter output)
 {
     output.Write((byte)11);
 }