internal ReadObjectInfo CreateReadObjectInfo(Type objectType, string[] memberNames, Type[] memberTypes) { return ReadObjectInfo.Create(objectType, memberNames, memberTypes, _surrogates, _context, _objectManager, _serObjectInfoInit, _formatterConverter, _isSimpleAssembly); }
internal ObjectMap( string objectName, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] 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++) { BinaryTypeEnum binaryTypeEnum = BinaryTypeConverter.GetParserBinaryTypeInfo(_memberTypes[i] !, out object?typeInformation); _binaryTypeEnumA[i] = binaryTypeEnum; _typeInformationA[i] = typeInformation; } }