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(); }
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, '\'')); }