Beispiel #1
0
        /// <summary>Must be called for a nonempty array or object at start():</summary>
        protected internal virtual int FindDataOffset()
        {
            int fsm = ObjectArrayUtil.GetFirstSubMap(this.Head);
            int offset;

            if (fsm <= 2 && this.vpack[this.start + 2] != 0)
            {
                offset = 2;
            }
            else
            {
                if (fsm <= 3 && this.vpack[this.start + 3] != 0)
                {
                    offset = 3;
                }
                else
                {
                    if (fsm <= 5 && this.vpack[this.start + 6] != 0)
                    {
                        offset = 5;
                    }
                    else
                    {
                        offset = 9;
                    }
                }
            }

            return(offset);
        }
Beispiel #2
0
        /// <summary>
        /// Must be called for a nonempty array or object at start():
        /// </summary>
        /// <returns></returns>
        internal int FindDataOffset()
        {
            int fsm = ObjectArrayUtil.GetFirstSubMap(TypeCode);
            int offset;

            if (fsm <= 2 && vpack[start + 2] != 0)
            {
                offset = 2;
            }
            else if (fsm <= 3 && vpack[start + 3] != 0)
            {
                offset = 3;
            }
            else if (fsm <= 5 && vpack[start + 6] != 0)
            {
                offset = 5;
            }
            else
            {
                offset = 9;
            }
            return(offset);
        }