public void WriteBinary(byte[] value)
 {
     ThrowIfDisposed();
     ThrowIfInvalidState("WriteBinary", TableEntityWriterState.Value);
     WriteNameAux(elemantName);
     if (value == null)
     {
         WriteNull(DataType.Binary);
     }
     else
     {
         WriteValue(DataType.Binary, SchemaUtil.GetQuotedString(SchemaUtil.BytesToString(value)));
     }
     UpdateWriterState();
 }
Пример #2
0
        private static string GetBinaryData(string filterToken)
        {
            int num = filterToken.Length - "X'".Length - 1;

            if (num / 2 > 32)
            {
                throw new InvalidFilterException("Binary filter token length too high", filterToken);
            }
            string text = filterToken.Substring("X'".Length, num);

            if (!uint.TryParse(text, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out uint result))
            {
                throw new InvalidFilterException("Binary filter token could not be parsed to uint", filterToken);
            }
            byte[] array = BitConverter.GetBytes(result);
            Array.Resize(ref array, text.Length / 2);
            Array.Reverse((Array)array);
            return(SchemaUtil.GetQuotedString(SchemaUtil.BytesToString(array), escapeValue: false, '\''));
        }