예제 #1
0
        /// <summary>Encodes a <paramref name="value"/>,
        /// and write it on an <paramref name="output"/> stream.</summary>
        /// <param name="value">A value to encode.</param>
        /// <param name="output">A stream that a value is printed on.</param>
        /// <exception cref="ArgumentException">Thrown when a given
        /// <paramref name="output"/> stream is not writable.</exception>
        public void Encode(IValue value, Stream output)
        {
            if (!output.CanWrite)
            {
                throw new ArgumentException(
                          "stream cannot be written to",
                          nameof(output)
                          );
            }

            value.EncodeToStream(output);
        }