protected override IMessage ReadMessageByType(IDataReader reader, ReadObjectInfo typeTag) { typeTag.TypeofString = reader.ReadUTF(); switch (typeTag.TypeofString) { case "Register": return new Register(); } return null; }
protected override IMessage ReadMessageByType(IDataReader reader, ReadObjectInfo typeTag) { typeTag.TypeofString = reader.ReadUTF(); switch (typeTag.TypeofString) { case "FileContent": return(new FileContent()); } return(null); }
internal void Init() { this.PRparseTypeEnum = InternalParseTypeE.Empty; this.PRobjectTypeEnum = InternalObjectTypeE.Empty; this.PRarrayTypeEnum = InternalArrayTypeE.Empty; this.PRmemberTypeEnum = InternalMemberTypeE.Empty; this.PRmemberValueEnum = InternalMemberValueE.Empty; this.PRobjectPositionEnum = InternalObjectPositionE.Empty; this.PRname = (string)null; this.PRvalue = (string)null; this.PRkeyDt = (string)null; this.PRdtType = (Type)null; this.PRdtTypeCode = InternalPrimitiveTypeE.Invalid; this.PRisEnum = false; this.PRobjectId = 0L; this.PRidRef = 0L; this.PRarrayElementTypeString = (string)null; this.PRarrayElementType = (Type)null; this.PRisArrayVariant = false; this.PRarrayElementTypeCode = InternalPrimitiveTypeE.Invalid; this.PRrank = 0; this.PRlengthA = (int[])null; this.PRpositionA = (int[])null; this.PRlowerBoundA = (int[])null; this.PRupperBoundA = (int[])null; this.PRindexMap = (int[])null; this.PRmemberIndex = 0; this.PRlinearlength = 0; this.PRrectangularMap = (int[])null; this.PRisLowerBound = false; this.PRtopId = 0L; this.PRheaderId = 0L; this.PRisValueTypeFixup = false; this.PRnewObj = (object)null; this.PRobjectA = (object[])null; this.PRprimitiveArray = (PrimitiveArray)null; this.PRobjectInfo = (ReadObjectInfo)null; this.PRisRegistered = false; this.PRmemberData = (object[])null; this.PRsi = (SerializationInfo)null; this.PRnullCount = 0; }
internal ObjectMap(string objectName, Type objectType, string[] memberNames, ObjectReader objectReader, int objectId, BinaryAssemblyInfo assemblyInfo) { _objectName = objectName; _objectType = objectType; _memberNames = memberNames; _objectReader = objectReader; _objectId = objectId; _assemblyInfo = assemblyInfo; _objectInfo = objectReader.CreateReadObjectInfo(objectType); _memberTypes = _objectInfo.GetMemberTypes(memberNames, objectType); _binaryTypeEnumA = new BinaryTypeEnum[_memberTypes.Length]; _typeInformationA = new object[_memberTypes.Length]; for (int i = 0; i < _memberTypes.Length; i++) { object typeInformation = null; BinaryTypeEnum binaryTypeEnum = BinaryTypeConverter.GetParserBinaryTypeInfo(_memberTypes[i], out typeInformation); _binaryTypeEnumA[i] = binaryTypeEnum; _typeInformationA[i] = typeInformation; } }
internal ObjectMap(string objectName, string[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, object[] typeInformationA, int[] memberAssemIds, ObjectReader objectReader, int objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable) { _objectName = objectName; _memberNames = memberNames; _binaryTypeEnumA = binaryTypeEnumA; _typeInformationA = typeInformationA; _objectReader = objectReader; _objectId = objectId; _assemblyInfo = assemblyInfo; if (assemblyInfo == null) { throw new SerializationException(SR.Format(SR.Serialization_Assembly, objectName)); } _objectType = objectReader.GetType(assemblyInfo, objectName); _memberTypes = new Type[memberNames.Length]; for (int i = 0; i < memberNames.Length; i++) { InternalPrimitiveTypeE primitiveTypeEnum; string typeString; Type type; bool isVariant; BinaryTypeConverter.TypeFromInfo( binaryTypeEnumA[i], typeInformationA[i], objectReader, (BinaryAssemblyInfo)assemIdToAssemblyTable[memberAssemIds[i]], out primitiveTypeEnum, out typeString, out type, out isVariant); _memberTypes[i] = type; } _objectInfo = objectReader.CreateReadObjectInfo(_objectType, memberNames, null); if (!_objectInfo._isSi) { _objectInfo.GetMemberTypes(memberNames, _objectInfo._objectType); // Check version match } }
protected override IMessage ReadMessageByType(IDataReader reader, ReadObjectInfo typeTag) { typeTag.TypeofString = reader.ReadUTF(); return (IMessage)Activator.CreateInstance(Type.GetType(typeTag.TypeofString)); }
protected override IMessage ReadMessageByType(IDataReader reader, ReadObjectInfo typeTag) { typeTag.TypeofString = reader.ReadUTF(); return((IMessage)Activator.CreateInstance(Type.GetType(typeTag.TypeofString))); }