MySql.Data.MySqlClient.MySqlPacket.WriteLength C# (CSharp) Метод

WriteLength() публичный Метод

public WriteLength ( long length ) : void
length long
Результат void
    public void WriteLength(long length)
    {
      if (length < 251)
        WriteByte((byte)length);
      else if (length < 65536L)
      {
        WriteByte(252);
        WriteInteger(length, 2);
      }
      else if (length < 16777216L)
      {
        WriteByte(253);
        WriteInteger(length, 3);
      }
      else
      {
        WriteByte(254);
        WriteInteger(length, 4);
      }
    }

Usage Example

        void IMySqlValue.WriteValue(MySqlPacket packet, bool binary, object val, int length)
        {
            byte[] buffToWrite = (val as byte[]);
            if (buffToWrite == null)
            {
                char[] valAsChar = (val as Char[]);
                if (valAsChar != null)
                    buffToWrite = packet.Encoding.GetBytes(valAsChar);
                else
                {
                    string s = val.ToString();
                    if (length == 0)
                        length = s.Length;
                    else
                        s = s.Substring(0, length);
                    buffToWrite = packet.Encoding.GetBytes(s);
                }
            }

            // we assume zero length means write all of the value
            if (length == 0)
                length = buffToWrite.Length;

            if (buffToWrite == null)
                throw new MySqlException("Only byte arrays and strings can be serialized by MySqlBinary");

            if (binary)
            {
                packet.WriteLength(length);
                packet.Write(buffToWrite, 0, length);
            }
            else
            {
                if (packet.Version.isAtLeast(4, 1, 0))
                    packet.WriteStringNoNull("_binary ");

                packet.WriteByte((byte)'\'');
                EscapeByteArray(buffToWrite, length, packet);
                packet.WriteByte((byte)'\'');
            }
        }
All Usage Examples Of MySql.Data.MySqlClient.MySqlPacket::WriteLength