<Type Name="StreamWriter" FullName="System.IO.StreamWriter" FullNameSP="System_IO_StreamWriter" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public serializable StreamWriter extends System.IO.TextWriter" />
  <TypeSignature Language="C#" Value="public class StreamWriter : System.IO.TextWriter" />
  <MemberOfLibrary>BCL</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>mscorlib</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.IO.TextWriter</BaseTypeName>
  </Base>
  <Interfaces>
  </Interfaces>
  <Docs>
    <summary>
      <para>Implements a <see cref="T:System.IO.Stream" /> wrapper that writes
   characters to a stream in a particular encoding.</para>
    </summary>
    <remarks>
      <para>The <see cref="T:System.IO.StreamWriter" /> class is designed for character output in a particular
<see cref="T:System.Text.Encoding" />, 
   whereas subclasses of <see cref="T:System.IO.Stream" /> are designed for byte
   input and output.</para>
      <para>
        <see cref="T:System.IO.StreamWriter" /> defaults to using an instance of <see cref="T:System.Text.UTF8Encoding" /> unless specified 
otherwise. This instance of <see cref="T:System.Text.UTF8Encoding" /> is constructed such that the <see cref="M:System.Text.Encoding.GetPreamble" qualify="true" /> method returns
the Unicode byte order mark written in UTF-8. The preamble of the encoding is
added to a stream when you are not appending to an existing stream. This means
any text file you create with <see cref="T:System.IO.StreamWriter" /> has three byte order marks at
its beginning. UTF-8
handles all Unicode characters correctly and gives consistent results on
localized versions of the operating system. </para>
      <para>
        <block subset="none" type="note">By default, 
<see cref="T:System.IO.StreamWriter" /> is not thread safe. For a thread-safe wrapper, see <see cref="M:System.IO.TextWriter.Synchronized(System.IO.TextWriter)" qualify="true" />
.</block>
      </para>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream)" />
      <MemberSignature Language="C#" Value="public StreamWriter (System.IO.Stream stream);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="stream" Type="System.IO.Stream" />
      </Parameters>
      <Docs>
        <param name="stream">The <see cref="T:System.IO.Stream" /> to write to.</param>
        <summary>
          <para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter" /> class for the specified stream, using the default
   encoding and buffer size.</para>
        </summary>
        <remarks>
          <para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding" /> property to a <see cref="T:System.Text.UTF8Encoding" /> whose <see cref="M:System.Text.Encoding.GetPreamble" /> method returns an empty
   byte array. For additional information,
   see <see cref="P:System.IO.TextWriter.Encoding" />
   . The <see cref="P:System.IO.StreamWriter.BaseStream" /> property is initialized using
<paramref name="stream" /> .</para>
          <para>
            <block subset="none" type="note">The default buffer size can typically be
   around 4 KB.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentException">
          <paramref name="stream " />does not support writing.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="stream " /> is <see langword="null" />.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path)" />
      <MemberSignature Language="C#" Value="public StreamWriter (string path);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> that specifies the complete file path to write to.</param>
        <summary>
          <para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter" /> class for the specified file on the specified path, using the default encoding and
   buffer size.</para>
        </summary>
        <remarks>
          <para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding" /> property to 
   a <see cref="T:System.Text.UTF8Encoding" /> whose <see cref="M:System.Text.Encoding.GetPreamble" /> method returns an empty
   byte array. For additional information, see <see cref="P:System.IO.TextWriter.Encoding" /> .</para>
          <block subset="none" type="note">
            <para>
              <paramref name="path" /> is not required to be a file stored on disk;
   it can be any part of a system that supports access via streams. For example,
   depending on the system, this class might be able to access a
   physical device.</para>
            <para>For information on the valid format and characters for 
   path strings, see <see cref="T:System.IO.Path" />
   .</para>
            <para>The default buffer size can typically be around 4 KB.</para>
          </block>
        </remarks>
        <exception cref="T:System.IO.IOException">
          <paramref name="path" /> is in an invalid format or contains invalid characters.</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.UnauthorizedAccessException">Access to <paramref name="path" /> is denied.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " />is an empty string ("").</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path " />is <see langword="null" />.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission for reading and writing files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true" />, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" /></permission>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" />  or the absolute path information for <paramref name="path" /> exceeds the implementation-specific maximum length.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream, class System.Text.Encoding encoding)" />
      <MemberSignature Language="C#" Value="public StreamWriter (System.IO.Stream stream, System.Text.Encoding encoding);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="stream" Type="System.IO.Stream" />
        <Parameter Name="encoding" Type="System.Text.Encoding" />
      </Parameters>
      <Docs>
        <param name="stream">The <see cref="T:System.IO.Stream" /> to write to.</param>
        <param name="encoding">A <see cref="T:System.Text.Encoding" /> that specifies the character encoding to use.</param>
        <summary>
          <para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter" />
class for the specified stream, using the specified
encoding and the default buffer size.</para>
        </summary>
        <remarks>
          <para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding" /> property using <paramref name="encoding" /> , and the <see cref="P:System.IO.StreamWriter.BaseStream" /> property
   using <paramref name="stream" /> . For additional information, see <see cref="P:System.IO.TextWriter.Encoding" />.</para>
          <para>
            <block subset="none" type="note">The default buffer size can typically be
   around 4 KB.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="stream " /> or <paramref name="encoding " /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="stream" /> does not support writing.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, bool append)" />
      <MemberSignature Language="C#" Value="public StreamWriter (string path, bool append);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="append" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> that specifies the complete file path to write to.</param>
        <param name="append">A <see cref="T:System.Boolean" /> value that determines whether data is to be appended to the file. If the file exists and <paramref name="append " />is <see langword="false" />, the file is overwritten. If the file exists and <paramref name="append " />is <see langword="true" />, the data is appended to the file. Otherwise, a new file is created.</param>
        <summary>
          <para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter" />
class for the specified file on
the specified path, using the default encoding and buffer size.</para>
        </summary>
        <remarks>
          <para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding" />
property to <see cref="T:System.Text.UTF8Encoding" /> whose <see cref="M:System.Text.Encoding.GetPreamble" /> method returns an empty
byte array. For additional information, see <see cref="P:System.IO.TextWriter.Encoding" /> .</para>
          <para>If the specified file exists, it can be either overwritten or appended to. If
   the file does not exist, this constructor creates a new file.</para>
          <block subset="none" type="note">
            <para>
              <paramref name="path" /> is not required to be a file stored on disk;
   it can be any part of a system that supports access via streams. For example,
   depending on the system, this class might be able to access a physical device.</para>
            <para>For information on the valid format and characters for path strings, see 
<see cref="T:System.IO.Path" /> .</para>
            <para>The default buffer size can typically be around 4 KB.</para>
          </block>
        </remarks>
        <exception cref="T:System.IO.IOException">A general I/O exception occurs, such as trying to access a CD-ROM drive whose tray is open</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.UnauthorizedAccessException">Access to <paramref name="path" /> is denied. The caller does not have the required permission.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " /> is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path " />is <see langword="null" />.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission for reading and writing files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true" />, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" /></permission>
        <exception cref="T:System.IO.NotSupportedException">
          <paramref name="path " /> is in an implementation-specific invalid format.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" />  or the absolute path information for <paramref name="path" /> exceeds the implementation-specific maximum length.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream, class System.Text.Encoding encoding, int32 bufferSize)" />
      <MemberSignature Language="C#" Value="public StreamWriter (System.IO.Stream stream, System.Text.Encoding encoding, int bufferSize);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="stream" Type="System.IO.Stream" />
        <Parameter Name="encoding" Type="System.Text.Encoding" />
        <Parameter Name="bufferSize" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="stream">The <see cref="T:System.IO.Stream" /> to write to.</param>
        <param name="encoding">A <see cref="T:System.Text.Encoding" /> that specifies the character encoding to use.</param>
        <param name="bufferSize">A <see cref="T:System.Int32" /> that specifies the buffer size.</param>
        <summary>
          <para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter" />
class for the specified stream, using the specified
encoding and buffer size.</para>
        </summary>
        <remarks>
          <para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding" /> property using
<paramref name="encoding" /> , and the <see cref="P:System.IO.StreamWriter.BaseStream" /> property using <paramref name="stream" /> . For additional information, see <see cref="P:System.IO.TextWriter.Encoding" />.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="stream " /> or <paramref name="encoding " /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="bufferSize " /> is negative.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="stream" /> does not support writing.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, bool append, class System.Text.Encoding encoding)" />
      <MemberSignature Language="C#" Value="public StreamWriter (string path, bool append, System.Text.Encoding encoding);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="append" Type="System.Boolean" />
        <Parameter Name="encoding" Type="System.Text.Encoding" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> that specifies the complete file path to write to.</param>
        <param name="append">A <see cref="T:System.Boolean" /> value that determines whether data is to be appended to the file. If the file exists and <paramref name="append " />is <see langword="false" />, the file is overwritten. If the file exists and <paramref name="append " />is <see langword="true" />, the data is appended to the file. Otherwise, a new file is created.</param>
        <param name="encoding">A <see cref="T:System.Text.Encoding" /> that specifies the character encoding to use.</param>
        <summary>
          <para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter" />
class for the specified file on
the specified path, using the specified encoding and default buffer size.</para>
        </summary>
        <remarks>
          <para>If the specified file exists, it can be either overwritten or appended to. If
      the file does not exist, this constructor creates a new file.</para>
          <para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding" /> property using
<paramref name="encoding" /> . For additional information, see <see cref="P:System.IO.TextWriter.Encoding" />.</para>
          <block subset="none" type="note">
            <para>
              <paramref name="path" /> is not required to be a file stored on disk;
   it can be any part of a system that supports access via streams. For example,
   depending on the system, this class might be able to access a physical device.</para>
            <para>For information on the valid format and characters for path strings, see 
<see cref="T:System.IO.Path" /> .</para>
            <para>The default buffer size can typically be around 4 KB.</para>
          </block>
        </remarks>
        <exception cref="T:System.IO.IOException">A general I/O exception occurred, such as trying to access a CD-ROM drive whose tray is open.</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.UnauthorizedAccessException">Access is denied. The caller does not have the required permission.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " /> is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path " /> or <paramref name="encoding" /> is <see langword="null" />.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission for reading and writing files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true" />, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" /></permission>
        <exception cref="T:System.IO.NotSupportedException">
          <paramref name="path " /> is in an implementation-specific invalid format.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" />  or the absolute path information for <paramref name="path" /> exceeds the implementation-specific maximum length.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, bool append, class System.Text.Encoding encoding, int32 bufferSize)" />
      <MemberSignature Language="C#" Value="public StreamWriter (string path, bool append, System.Text.Encoding encoding, int bufferSize);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="path" Type="System.String" />
        <Parameter Name="append" Type="System.Boolean" />
        <Parameter Name="encoding" Type="System.Text.Encoding" />
        <Parameter Name="bufferSize" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="path">A <see cref="T:System.String" /> that specifies the complete file path to write to.</param>
        <param name="append">A <see cref="T:System.Boolean" /> value that determines whether data is to be appended to the file. If the file exists and <paramref name="append " />is <see langword="false" />, the file is overwritten. If the file exists and <paramref name="append " />is <see langword="true" />, the data is appended to the file. Otherwise, a new file is created.</param>
        <param name="encoding">A <see cref="T:System.Text.Encoding" /> that specifies the character encoding to use.</param>
        <param name="bufferSize">A <see cref="T:System.Int32" /> that specifies the buffer size.</param>
        <summary>
          <para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter" />
class for the specified file on
the specified path, using the specified encoding and buffer size.</para>
        </summary>
        <remarks>
          <para>If the specified file exists, it can be either overwritten or appended to. If
      the file does not exist, this constructor creates a new file.</para>
          <para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding" /> property using
<paramref name="encoding" /> . For additional information, see <see cref="P:System.IO.TextWriter.Encoding" />.</para>
          <block subset="none" type="note">
            <para>
              <paramref name="path" /> is not required to be a file stored on disk; it can be any part 
   of a system that supports access via streams. For example, depending on the
   system, this class might be able to access a physical device.</para>
            <para>For information on the valid format and characters for path strings, see 
<see cref="T:System.IO.Path" /> . </para>
          </block>
        </remarks>
        <exception cref="T:System.IO.IOException">A general I/O exception occurred, such as trying to access a CD-ROM drive whose tray is open.</exception>
        <exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path" /> was not found.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="path " /> is a zero-length string, contains only white space, or contains one or more implementation-specific invalid characters.</exception>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="path" /> or <paramref name="encoding" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="bufferSize " /> is negative.</exception>
        <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
        <exception cref="T:System.UnauthorizedAccessException">Access is denied. The caller does not have the required permission.</exception>
        <permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission for reading and writing files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true" />, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true" /></permission>
        <exception cref="T:System.IO.NotSupportedException">
          <paramref name="path" /> is in an implementation-specific invalid format.</exception>
        <exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path" />  or the absolute path information for <paramref name="path" /> exceeds the implementation-specific maximum length.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="AutoFlush">
      <MemberSignature Language="ILASM" Value=".property bool AutoFlush { public hidebysig virtual specialname bool get_AutoFlush() public hidebysig virtual specialname void set_AutoFlush(bool value) }" />
      <MemberSignature Language="C#" Value="public virtual bool AutoFlush { set; get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Gets or sets a <see cref="T:System.Boolean" /> value indicating whether the
   current <see cref="T:System.IO.StreamWriter" /> will flush its buffer to the
   underlying stream after every call to <see cref="M:System.IO.StreamWriter.Write(System.Char)" qualify="true" />.</para>
        </summary>
        <value>
          <para>
            <see langword="true" /> to force
<see cref="T:System.IO.StreamWriter" /> to flush its
   buffer; otherwise, <see langword="false" />.</para>
        </value>
        <remarks>
          <para>The <see cref="T:System.IO.StreamWriter" /> will do a limited amount of buffering, both
   internally and potentially in the encoder from the encoding you passed in. If
<see cref="P:System.IO.StreamWriter.AutoFlush" /> 
is set to <see langword="false" />, the data will
be flushed into the underlying stream only when the buffer is full, or when
<see cref="M:System.IO.StreamWriter.Dispose(System.Boolean)" />(<see langword="true" />) or <see cref="M:System.IO.StreamWriter.Close" /> 
is called.</para>
          <para> Setting <see cref="P:System.IO.StreamWriter.AutoFlush" /> to
<see langword="true" /> forces <see cref="T:System.IO.StreamWriter" /> to flush the buffered data out of the 
encoder and call <see cref="M:System.IO.StreamWriter.Flush" /> on the
stream every time <see cref="M:System.IO.StreamWriter.Write(System.Char)" />
is called.</para>
          <para>
            <block subset="none" type="behaviors">As described
   above.</block>
          </para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="BaseStream">
      <MemberSignature Language="ILASM" Value=".property class System.IO.Stream BaseStream { public hidebysig virtual specialname class System.IO.Stream get_BaseStream() }" />
      <MemberSignature Language="C#" Value="public virtual System.IO.Stream BaseStream { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.IO.Stream</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para> Gets the underlying
      stream.</para>
        </summary>
        <value>
          <para>The <see cref="T:System.IO.Stream" /> the current <see cref="T:System.IO.StreamWriter" /> instance
   is writing to.</para>
        </value>
        <remarks>
          <para>
            <block subset="none" type="behaviors">As described
      above.</block>
          </para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Close">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()" />
      <MemberSignature Language="C#" Value="public override void Close ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Closes the current <see cref="T:System.IO.StreamWriter" />
and the underlying stream.</para>
        </summary>
        <remarks>
          <para> This method calls <see cref="M:System.IO.StreamWriter.Flush" />
, writing buffered data to the underlying stream. Following a call to <see cref="M:System.IO.StreamWriter.Close" />, any operations on the current instance
might raise exceptions.</para>
          <block subset="none" type="note">
            <para>This version of <see cref="M:System.IO.StreamWriter.Close" /> is equivalent to <see cref="M:System.IO.StreamWriter.Dispose(System.Boolean)" />(<see langword="true" />).</para>
            <para>This method overrides <see cref="M:System.IO.Stream.Close" qualify="true" />.</para>
          </block>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)" />
      <MemberSignature Language="C#" Value="protected override void Dispose (bool disposing);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="disposing" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="disposing">
          <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
        <summary>
          <para>Releases the unmanaged resources used by the <see cref="T:System.IO.StreamWriter" /> and
   optionally releases the managed resources.</para>
        </summary>
        <remarks>
          <para>When the <paramref name="disposing" /> parameter is <see langword="true" />, this method
   releases all resources held by any managed objects that this <see cref="T:System.IO.StreamWriter" />
   references. This method invokes the <see langword="Dispose()" /> method of each
   referenced object.</para>
          <block subset="none" type="note">
            <para>
              <see cref="M:System.IO.StreamWriter.Dispose(System.Boolean)" /> can be called multiple
   times by other objects. When overriding <see cref="M:System.IO.StreamWriter.Dispose(System.Boolean)" />(<see cref="T:System.Boolean" />), be careful not
   to reference objects that have been previously disposed in an earlier call to
<see cref="M:System.IO.StreamWriter.Dispose(System.Boolean)" />.</para>
            <para>This method calls the dispose method of the base class, <see cref="M:System.IO.TextWriter.Dispose(System.Boolean)" /><see langword="(" /><paramref name="disposing" /><see langword=")" />.</para>
          </block>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Encoding">
      <MemberSignature Language="ILASM" Value=".property class System.Text.Encoding Encoding { public hidebysig virtual specialname class System.Text.Encoding get_Encoding() }" />
      <MemberSignature Language="C#" Value="public override System.Text.Encoding Encoding { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Text.Encoding</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para> Gets the <see cref="T:System.Text.Encoding" /> in which the output is written.</para>
        </summary>
        <value>
          <para>The <see cref="T:System.Text.Encoding" /> specified in
   the constructor for the current instance, or <see cref="T:System.Text.UTF8Encoding" />
   if an encoding was not
   specified.</para>
        </value>
        <remarks>
          <para>
            <block subset="none" type="note">This property overrides the <see cref="P:System.IO.TextWriter.Encoding" /> 
property.</block>
          </para>
          <para>
            <block subset="none" type="behaviors">As described above.</block>
          </para>
          <para>
            <block subset="none" type="usage">This property is required in some XML
   scenarios where a header must be written containing the encoding used by the
<see cref="T:System.IO.StreamWriter" />.
   This allows XML code to consume an arbitrary <see cref="T:System.IO.StreamWriter" /> and generate a correct XML
   header.</block>
          </para>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Finalize()" />
      <MemberSignature Language="C#" Value="~StreamWriter ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Releases resources held by the current instance.</para>
        </summary>
        <remarks>
          <block subset="none" type="note">
            <para>Application code does not call this 
         method; it is automatically invoked by during garbage collection unless
         finalization by the garbage collector has been disabled. For more information,
         see <see cref="M:System.GC.SuppressFinalize(System.Object)" />, and <see cref="M:System.Object.Finalize" />.</para>
            <para> This method overrides <see cref="M:System.Object.Finalize" /> . </para>
          </block>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Flush">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Flush()" />
      <MemberSignature Language="C#" Value="public override void Flush ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
          <para>Clears all buffers for the current writer and causes any buffered
      data to be written to the underlying stream.</para>
        </summary>
        <remarks>
          <para>
            <block subset="none" type="note">This method overrides <see cref="M:System.IO.TextWriter.Flush" qualify="true" />.</block>
          </para>
        </remarks>
        <exception cref="T:System.ObjectDisposedException">The current writer is closed.</exception>
        <exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Null">
      <MemberSignature Language="C#" Value="public static readonly System.IO.StreamWriter Null;" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>System.IO.StreamWriter</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Write">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(valuetype System.Char value)" />
      <MemberSignature Language="C#" Value="public override void Write (char value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Char" />
      </Parameters>
      <Docs>
        <param name="value">The <see cref="T:System.Char" /> to write to the underlying stream.</param>
        <summary>
          <para> Writes a character to the stream.</para>
        </summary>
        <remarks>
          <para> The specified character is written to the underlying stream unless the end
      of the stream is reached prematurely. </para>
          <para>If <see cref="P:System.IO.StreamWriter.AutoFlush" /> is <see langword="true" />, <see cref="M:System.IO.StreamWriter.Flush" /> is
   invoked automatically.</para>
          <para>
            <block subset="none" type="note">This method overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true" />.</block>
          </para>
        </remarks>
        <exception cref="T:System.ObjectDisposedException">The current writer is closed.</exception>
        <exception cref="T:System.NotSupportedException">
          <see cref="P:System.IO.StreamWriter.AutoFlush" /> is <see langword="true" /> or the <see cref="T:System.IO.StreamWriter" /> buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the <see cref="T:System.IO.StreamWriter" /> is at the end the stream.</exception>
        <exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Write">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(class System.Char[] buffer)" />
      <MemberSignature Language="C#" Value="public override void Write (char[] buffer);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="buffer" Type="System.Char[]" />
      </Parameters>
      <Docs>
        <param name="buffer">A <see cref="T:System.Char" /> array containing the data to write. If <paramref name="buffer" /> is <see langword="null" />, nothing is written.</param>
        <summary>
          <para> Writes a character array to the underlying stream.</para>
        </summary>
        <remarks>
          <para>The specified characters are written to the underlying stream unless the end
      of the stream is reached prematurely. </para>
          <para>If <see cref="P:System.IO.StreamWriter.AutoFlush" /> is <see langword="true" />, <see cref="M:System.IO.StreamWriter.Flush" /> is
   invoked automatically.</para>
          <para>
            <block subset="none" type="note">This method overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true" />.</block>
          </para>
        </remarks>
        <exception cref="T:System.ObjectDisposedException">The current writer is closed.</exception>
        <exception cref="T:System.NotSupportedException">
          <see cref="P:System.IO.StreamWriter.AutoFlush" /> is <see langword="true" /> or the <see cref="T:System.IO.StreamWriter" /> buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the <see cref="T:System.IO.StreamWriter" /> is at the end the stream.</exception>
        <exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Write">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(string value)" />
      <MemberSignature Language="C#" Value="public override void Write (string value);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="value">The <see cref="T:System.String" /> to write to the stream. If <paramref name="value " />is <see langword="null" />, nothing is written.</param>
        <summary>
          <para> Writes a string to the stream.</para>
        </summary>
        <remarks>
          <para>The specified <see cref="T:System.String" /> is written to the underlying stream unless the end
   of the stream is reached prematurely. </para>
          <para>If <see cref="P:System.IO.StreamWriter.AutoFlush" /> is <see langword="true" />, <see cref="M:System.IO.StreamWriter.Flush" /> is
invoked automatically.</para>
          <para>
            <block subset="none" type="note">This method overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true" />.</block>
          </para>
        </remarks>
        <exception cref="T:System.ObjectDisposedException">The current writer is closed.</exception>
        <exception cref="T:System.NotSupportedException">
          <see cref="P:System.IO.StreamWriter.AutoFlush" /> is <see langword="true" /> or the <see cref="T:System.IO.StreamWriter" /> buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the <see cref="T:System.IO.StreamWriter" /> is at the end the stream.</exception>
        <exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Write">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(class System.Char[] buffer, int32 index, int32 count)" />
      <MemberSignature Language="C#" Value="public override void Write (char[] buffer, int index, int count);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="buffer" Type="System.Char[]" />
        <Parameter Name="index" Type="System.Int32" />
        <Parameter Name="count" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="buffer">A <see cref="T:System.Char" /> array containing the data to write.</param>
        <param name="index">A <see cref="T:System.Int32" /> that specifies the index into <paramref name="buffer " /> at which to begin writing.</param>
        <param name="count">A <see cref="T:System.Int32" /> that specifies the number of characters to read from <paramref name="buffer" />.</param>
        <summary>
          <para> Writes a sub-array of characters to the underlying stream.</para>
        </summary>
        <remarks>
          <para> The specified
      characters are written to the underlying stream unless the end of the stream is
      reached prematurely. <see langword="" /></para>
          <para>If <see cref="P:System.IO.StreamWriter.AutoFlush" /> is <see langword="true" />, <see cref="M:System.IO.StreamWriter.Flush" /> is
   invoked automatically.</para>
          <para>
            <block subset="none" type="note">This method overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true" />.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="buffer " /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">buffer.Length - <paramref name="index " /> &lt; <paramref name="count" />.</exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="index" /> or <paramref name="count" /> is negative.</exception>
        <exception cref="T:System.ObjectDisposedException">The current writer is closed.</exception>
        <exception cref="T:System.NotSupportedException">
          <see cref="P:System.IO.StreamWriter.AutoFlush" /> is <see langword="true" /> or the <see cref="T:System.IO.StreamWriter" /> buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the <see cref="T:System.IO.StreamWriter" /> is at the end the stream.</exception>
        <exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
      </Docs>
      <Excluded>0</Excluded>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
  <Attributes>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
  </Attributes>
</Type>
