public IMyCatValue ReadValue(MyCatPacket packet, long length, bool isNull)
        {
            this.isNull = isNull;
            if (isNull)
            {
                return(this);
            }

            if (length == -1)
            {
                length = packet.ReadFieldLength();
            }

            if (ReadAsString)
            {
                mValue = UInt64.Parse(packet.ReadString(length));
            }
            else
            {
                mValue = (UInt64)packet.ReadBitValue((int)length);
            }
            return(this);
        }