/// <summary> /// Initializes a new instance of the <see cref="JsonWriter"/> class for writing to the <see cref="TextWriter"/> /// with specified settings and option to leave a stream open. /// </summary> /// <param name="textWriter">The <see cref="TextWriter"/> to write data to.</param> /// <param name="settings">The settings for writing data in JSON format.</param> /// <param name="leaveOpen"> /// <c>true</c> to leave the stream open after the value was written; /// <c>false</c> to close the stream. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="textWriter"/> is <c>null</c> /// or /// <paramref name="settings"/> is <c>null</c>. /// </exception> public JsonWriter(TextWriter textWriter, JsonWriterSettings settings, bool leaveOpen) { if (textWriter == null) { throw new ArgumentNullException("textWriter"); } if (settings == null) { throw new ArgumentNullException("settings"); } // Store the provided text reader this.textWriter = textWriter; this.Settings = settings; this.leaveOpen = leaveOpen; }
/// <summary> /// Initializes a new instance of the <see cref="JsonWriter"/> class for writing to the /// <see cref="StringBuilder"/> with specified settings. /// </summary> /// <param name="jsonString">The <see cref="StringBuilder"/> to write data to.</param> /// <param name="settings">The settings for writing data in JSON format.</param> /// <exception cref="ArgumentNullException"> /// <paramref name="jsonString"/> is <c>null</c> /// or /// <paramref name="settings"/> is <c>null</c>. /// </exception> public JsonWriter(StringBuilder jsonString, JsonWriterSettings settings) { if (jsonString == null) { throw new ArgumentNullException("jsonString"); } if (settings == null) { throw new ArgumentNullException("settings"); } // Initialize a new string reader this.textWriter = new StringWriter(jsonString); this.Settings = settings; this.leaveOpen = false; }
/// <summary> /// Initializes a new instance of the <see cref="JsonWriter"/> class for writing to the <see cref="Stream"/> /// with specified settings, encoding and option to leave a stream open. /// </summary> /// <param name="jsonStream">The <see cref="Stream"/> to write data to.</param> /// <param name="settings">The settings for writing data in JSON format.</param> /// <param name="encoding">The character encoding to use.</param> /// <param name="leaveOpen"> /// <c>true</c> to leave the stream open after the value was written; /// <c>false</c> to close the stream. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="jsonStream"/> is <c>null</c> /// or /// <paramref name="settings"/> is <c>null</c> /// or /// <paramref name="encoding"/> is <c>null</c>. /// </exception> public JsonWriter(Stream jsonStream, JsonWriterSettings settings, Encoding encoding, bool leaveOpen) { if (jsonStream == null) { throw new ArgumentNullException("jsonStream"); } if (settings == null) { throw new ArgumentNullException("settings"); } if (encoding == null) { throw new ArgumentNullException("encoding"); } // Initialize a new stream reader this.textWriter = new StreamWriter(jsonStream, encoding); this.Settings = settings; this.leaveOpen = leaveOpen; }
/// <summary> /// Initializes a new instance of the <see cref="JsonWriter"/> class for writing to the <see cref="TextWriter"/> /// with specified settings. /// </summary> /// <param name="textWriter">The <see cref="TextWriter"/> to write data to.</param> /// <param name="settings">The settings for writing data in JSON format.</param> /// <exception cref="ArgumentNullException"> /// <paramref name="textWriter"/> is <c>null</c> /// or /// <paramref name="settings"/> is <c>null</c>. /// </exception> public JsonWriter(TextWriter textWriter, JsonWriterSettings settings) // ReSharper disable IntroduceOptionalParameters.Global : this(textWriter, settings, false) // ReSharper restore IntroduceOptionalParameters.Global { }
/// <summary> /// Initializes a new instance of the <see cref="JsonWriter"/> class for writing to the <see cref="Stream"/> /// with specified settings and encoding. /// </summary> /// <param name="jsonStream">The <see cref="Stream"/> to write data to.</param> /// <param name="settings">The settings for writing data in JSON format.</param> /// <param name="encoding">The character encoding to use.</param> /// <exception cref="ArgumentNullException"> /// <paramref name="jsonStream"/> is <c>null</c> /// or /// <paramref name="settings"/> is <c>null</c> /// or /// <paramref name="encoding"/> is <c>null</c>. /// </exception> public JsonWriter(Stream jsonStream, JsonWriterSettings settings, Encoding encoding) // ReSharper disable IntroduceOptionalParameters.Global : this(jsonStream, settings, encoding, false) // ReSharper restore IntroduceOptionalParameters.Global { }
/// <summary> /// Initializes a new instance of the <see cref="JsonWriter"/> class for writing to the <see cref="Stream"/> /// with specified settings. /// </summary> /// <param name="jsonStream">The <see cref="Stream"/> to write data to.</param> /// <param name="settings">The settings for writing data in JSON format.</param> /// <exception cref="ArgumentNullException"> /// <paramref name="jsonStream"/> is <c>null</c> /// or /// <paramref name="settings"/> is <c>null</c>. /// </exception> public JsonWriter(Stream jsonStream, JsonWriterSettings settings) : this(jsonStream, settings, JsonWriter.DefaultEncoding, false) { }