System.Runtime.Serialization.Formatters.Binary.BinaryConverter.WriteTypeInfo C# (CSharp) Method

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
        internal static void WriteTypeInfo(BinaryTypeEnum binaryTypeEnum, Object typeInformation, int assemId, __BinaryWriter sout)
        {
            SerTrace.Log( "BinaryConverter", "WriteTypeInfo Entry  ",((Enum)binaryTypeEnum).ToString()," ",typeInformation," assemId ",assemId);

            switch (binaryTypeEnum)
            {
                case BinaryTypeEnum.Primitive:
                case BinaryTypeEnum.PrimitiveArray:
                    BCLDebug.Assert(typeInformation!=null, "[BinaryConverter.WriteTypeInfo]typeInformation!=null");
                    sout.WriteByte((Byte)((InternalPrimitiveTypeE)typeInformation));                    
                    break;
                case BinaryTypeEnum.String:
                case BinaryTypeEnum.Object:
                case BinaryTypeEnum.StringArray:
                case BinaryTypeEnum.ObjectArray:
                    break;                    
                case BinaryTypeEnum.ObjectUrt:
                    BCLDebug.Assert(typeInformation!=null, "[BinaryConverter.WriteTypeInfo]typeInformation!=null");
                    sout.WriteString(typeInformation.ToString());
                    break;
                case BinaryTypeEnum.ObjectUser:                             
                    BCLDebug.Assert(typeInformation!=null, "[BinaryConverter.WriteTypeInfo]typeInformation!=null");
                    sout.WriteString(typeInformation.ToString());
                    sout.WriteInt32(assemId);
                    break;                    
                default:
                    throw new SerializationException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Serialization_TypeWrite"),((Enum)binaryTypeEnum).ToString()));
            }
            SerTrace.Log( "BinaryConverter", "WriteTypeInfo Exit");
        }

Usage Example

        // 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;
            }
        }
All Usage Examples Of System.Runtime.Serialization.Formatters.Binary.BinaryConverter::WriteTypeInfo