private static object ReadString8Array(MsgSubStorageReader parser, MsgSubStorageReader.PropertyInfo propertyInfo) { int stringArrayLengthEntrySize = MsgStorageRulesTable.StringArrayLengthEntrySize; int num; byte[] value = MsgStorageRulesTable.InternalReadLengthList(parser, propertyInfo, stringArrayLengthEntrySize, out num); string[] array = new string[num]; int num2 = 0; for (int num3 = 0; num3 != num; num3++) { int num4 = BitConverter.ToInt32(value, num2); byte[] bytes = parser.ReadPropertyIndexStream(propertyInfo.Tag, num3, num4, 1); array[num3] = Util.AnsiBytesToString(bytes, num4, parser.MessageEncoding); num2 += stringArrayLengthEntrySize; } return(array); }
private static object ReadArrayOfBinary(MsgSubStorageReader parser, MsgSubStorageReader.PropertyInfo propertyInfo) { int binaryArrayLengthEntrySize = MsgStorageRulesTable.BinaryArrayLengthEntrySize; int num; byte[] value = MsgStorageRulesTable.InternalReadLengthList(parser, propertyInfo, binaryArrayLengthEntrySize, out num); byte[][] array = new byte[num][]; int num2 = 0; for (int num3 = 0; num3 != num; num3++) { int num4 = BitConverter.ToInt32(value, num2); array[num3] = new byte[num4]; parser.ReadPropertyIndexStream(propertyInfo.Tag, num3, array[num3], num4, 0); num2 += binaryArrayLengthEntrySize; } return(array); }