public int Serialize(ref byte[] bytes, int offset, T value, IFormatterResolver formatterResolver)
 {
     // reduce generic method size, avoid write code in <T> type.
     if (metaInfo.IsIntKey)
     {
         return(ReflectionObjectFormatterHelper.WriteArraySerialize(metaInfo, writeMembers, ref bytes, offset, value, formatterResolver));
     }
     else
     {
         return(ReflectionObjectFormatterHelper.WriteMapSerialize(metaInfo, writeMembers, writeMemberNames, ref bytes, offset, value, formatterResolver));
     }
 }
 public T Deserialize(byte[] bytes, int offset, IFormatterResolver formatterResolver, out int readSize)
 {
     return((T)ReflectionObjectFormatterHelper.Deserialize(metaInfo, readMembers, constructorParameterIndexes, mapMemberDictionary, bytes, offset, formatterResolver, out readSize));
 }