﻿<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge" /><link rel="shortcut icon" href="../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { }.OH_footer { }</style><link rel="stylesheet" type="text/css" href="../styles/branding.css" /><link rel="stylesheet" type="text/css" href="../styles/branding-en-US.css" /><script type="text/javascript" src="../scripts/branding.js"> </script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>ReusableStringWriter Methods</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="ReusableStringWriter class, methods" /><meta name="Microsoft.Help.Id" content="Methods.T:log4net.Util.ReusableStringWriter" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="log4net.Util" /><meta name="file" content="Methods_T_log4net_Util_ReusableStringWriter" /><meta name="guid" content="Methods_T_log4net_Util_ReusableStringWriter" /></head><body onload="OnLoad('cs')"><input type="hidden" id="userDataCache" class="userDataStyle" /><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">ReusableStringWriter Methods</td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span><p>The <a href="T_log4net_Util_ReusableStringWriter.htm">ReusableStringWriter</a> type exposes the following members.</p><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Methods</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><table id="memberList" class="members"><tr><th class="ps_iconColumn">
								 
							</th><th>Name</th><th>Description</th></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/x3ybx9ds" target="_blank">Close</a></td><td><div class="summary">
                    Closes the current <a href="http://msdn2.microsoft.com/en-us/library/hs9kt2e9" target="_blank">StringWriter</a> and the underlying stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/hs9kt2e9" target="_blank">StringWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/2ch65xad" target="_blank">CreateObjRef</a></td><td><div class="summary">
                    Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/w4302s1f" target="_blank">MarshalByRefObject</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/ms227564" target="_blank">Dispose<span id="LST9680AF2E_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_0?cs=()|vb=|cpp=()|nu=()|fs=()");</script></a></td><td><div class="summary">
                    Releases all resources used by the <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a> object.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="protected;declared;notNetfw;"><td><img src="../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="M_log4net_Util_ReusableStringWriter_Dispose.htm">Dispose(Boolean)</a></td><td><div class="summary">
            Override Dispose to prevent closing of writer
            </div> (Overrides <a href="http://msdn2.microsoft.com/en-us/library/yt14d5xb" target="_blank">StringWriter<span id="LST9680AF2E_1"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>Dispose(Boolean)</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/bsc2ak47" target="_blank">Equals</a></td><td><div class="summary">
                    Determines whether the specified <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a> is equal to the current <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/4k87zsw7" target="_blank">Finalize</a></td><td><div class="summary">
                    Allows an <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a> to attempt to free resources and perform other cleanup operations before the <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a> is reclaimed by garbage collection.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/dasycs76" target="_blank">Flush</a></td><td><div class="summary">
                    Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/zdee4b3y" target="_blank">GetHashCode</a></td><td><div class="summary">
                    Serves as a hash function for a particular type. 
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/c6y7316f" target="_blank">GetLifetimeService</a></td><td><div class="summary">
                    Retrieves the current lifetime service object that controls the lifetime policy for this instance.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/w4302s1f" target="_blank">MarshalByRefObject</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/x494xzk1" target="_blank">GetStringBuilder</a></td><td><div class="summary">
                    Returns the underlying <a href="http://msdn2.microsoft.com/en-us/library/y9sxk6fy" target="_blank">StringBuilder</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/hs9kt2e9" target="_blank">StringWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/dfwy45w9" target="_blank">GetType</a></td><td><div class="summary">
                    Gets the <a href="http://msdn2.microsoft.com/en-us/library/42892f65" target="_blank">Type</a> of the current instance.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/zwt5tzck" target="_blank">InitializeLifetimeService</a></td><td><div class="summary">
                    Obtains a lifetime service object to control the lifetime policy for this instance.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/w4302s1f" target="_blank">MarshalByRefObject</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/57ctke0a" target="_blank">MemberwiseClone<span id="LST9680AF2E_2"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_2?cs=()|vb=|cpp=()|nu=()|fs=()");</script></a></td><td><div class="summary">
                    Creates a shallow copy of the current <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">Object</a>.)</td></tr><tr data="protected;inherited;notNetfw;"><td><img src="../icons/protmethod.gif" alt="Protected method" title="Protected method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/ms131262" target="_blank">MemberwiseClone(Boolean)</a></td><td><div class="summary">
                    Creates a shallow copy of the current <a href="http://msdn2.microsoft.com/en-us/library/w4302s1f" target="_blank">MarshalByRefObject</a> object.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/w4302s1f" target="_blank">MarshalByRefObject</a>.)</td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Util_ReusableStringWriter_Reset.htm">Reset</a></td><td><div class="summary">
            Reset this string writer so that it can be reused.
            </div></td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/1sa8kw02" target="_blank">ToString</a></td><td><div class="summary">
                    Returns a string containing the characters written to the current StringWriter so far.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/hs9kt2e9" target="_blank">StringWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/eh0286zt" target="_blank">Write(Char)</a></td><td><div class="summary">
                    Writes a character to this instance of the StringWriter.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/hs9kt2e9" target="_blank">StringWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/80fs4221" target="_blank">Write(String)</a></td><td><div class="summary">
                    Writes a string to this instance of the StringWriter.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/hs9kt2e9" target="_blank">StringWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/7dzzaxxx" target="_blank">Write(<span id="LST9680AF2E_3"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_3?cpp=array&lt;");</script>Char<span id="LST9680AF2E_4"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_4?cpp=&gt;|cs=[]|vb=()|nu=[]|fs=[]");</script>)</a></td><td><div class="summary">
                    Writes a character array to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/0771xe42" target="_blank">Write(Boolean)</a></td><td><div class="summary">
                    Writes the text representation of a Boolean value to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/zfb8977y" target="_blank">Write(Int32)</a></td><td><div class="summary">
                    Writes the text representation of a 4-byte signed integer to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/4a5xsz6x" target="_blank">Write(UInt32)</a></td><td><div class="summary">
                    Writes the text representation of a 4-byte unsigned integer to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/tx1dfbdy" target="_blank">Write(Int64)</a></td><td><div class="summary">
                    Writes the text representation of an 8-byte signed integer to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/496805xk" target="_blank">Write(UInt64)</a></td><td><div class="summary">
                    Writes the text representation of an 8-byte unsigned integer to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/wdsdx7xt" target="_blank">Write(Single)</a></td><td><div class="summary">
                    Writes the text representation of a 4-byte floating-point value to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/ek5h49e6" target="_blank">Write(Double)</a></td><td><div class="summary">
                    Writes the text representation of an 8-byte floating-point value to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/h78e9aks" target="_blank">Write(Decimal)</a></td><td><div class="summary">
                    Writes the text representation of a decimal value to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/dfc2b8zk" target="_blank">Write(Object)</a></td><td><div class="summary">
                    Writes the text representation of an object to the text stream by calling ToString on that object.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/xxhes7h2" target="_blank">Write(String, Object)</a></td><td><div class="summary">
                    Writes out a formatted string, using the same semantics as <a href="http://msdn2.microsoft.com/en-us/library/fht0f5be" target="_blank">Format(String, Object)</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/b2t77weh" target="_blank">Write(String, <span id="LST9680AF2E_5"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_5?cpp=array&lt;");</script>Object<span id="LST9680AF2E_6"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_6?cpp=&gt;|cs=[]|vb=()|nu=[]|fs=[]");</script>)</a></td><td><div class="summary">
                    Writes out a formatted string, using the same semantics as <a href="http://msdn2.microsoft.com/en-us/library/fht0f5be" target="_blank">Format(String, Object)</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/08567ae1" target="_blank">Write(<span id="LST9680AF2E_7"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_7?cpp=array&lt;");</script>Char<span id="LST9680AF2E_8"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_8?cpp=&gt;|cs=[]|vb=()|nu=[]|fs=[]");</script>, Int32, Int32)</a></td><td><div class="summary">
                    Writes the specified region of a character array to this instance of the StringWriter.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/hs9kt2e9" target="_blank">StringWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/fd857wct" target="_blank">Write(String, Object, Object)</a></td><td><div class="summary">
                    Writes out a formatted string, using the same semantics as <a href="http://msdn2.microsoft.com/en-us/library/fht0f5be" target="_blank">Format(String, Object)</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/yahw31y5" target="_blank">Write(String, Object, Object, Object)</a></td><td><div class="summary">
                    Writes out a formatted string, using the same semantics as <a href="http://msdn2.microsoft.com/en-us/library/fht0f5be" target="_blank">Format(String, Object)</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/ebb1kw70" target="_blank">WriteLine<span id="LST9680AF2E_9"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_9?cs=()|vb=|cpp=()|nu=()|fs=()");</script></a></td><td><div class="summary">
                    Writes a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/9d715e88" target="_blank">WriteLine(Char)</a></td><td><div class="summary">
                    Writes a character followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/90hk9z7h" target="_blank">WriteLine(<span id="LST9680AF2E_10"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_10?cpp=array&lt;");</script>Char<span id="LST9680AF2E_11"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_11?cpp=&gt;|cs=[]|vb=()|nu=[]|fs=[]");</script>)</a></td><td><div class="summary">
                    Writes an array of characters followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/dffz3h88" target="_blank">WriteLine(Boolean)</a></td><td><div class="summary">
                    Writes the text representation of a Boolean followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/wzx0t0ff" target="_blank">WriteLine(Int32)</a></td><td><div class="summary">
                    Writes the text representation of a 4-byte signed integer followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/bk3fwdx5" target="_blank">WriteLine(UInt32)</a></td><td><div class="summary">
                    Writes the text representation of a 4-byte unsigned integer followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/8hzth1zf" target="_blank">WriteLine(Int64)</a></td><td><div class="summary">
                    Writes the text representation of an 8-byte signed integer followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/cxs9h0wc" target="_blank">WriteLine(UInt64)</a></td><td><div class="summary">
                    Writes the text representation of an 8-byte unsigned integer followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/8xzxc7z8" target="_blank">WriteLine(Single)</a></td><td><div class="summary">
                    Writes the text representation of a 4-byte floating-point value followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/dw17aa0x" target="_blank">WriteLine(Double)</a></td><td><div class="summary">
                    Writes the text representation of a 8-byte floating-point value followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/6ehy7024" target="_blank">WriteLine(Decimal)</a></td><td><div class="summary">
                    Writes the text representation of a decimal value followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/7ack4zyt" target="_blank">WriteLine(String)</a></td><td><div class="summary">
                    Writes a string followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/4zcc928k" target="_blank">WriteLine(Object)</a></td><td><div class="summary">
                    Writes the text representation of an object by calling ToString on this object, followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/4e89z0w8" target="_blank">WriteLine(String, Object)</a></td><td><div class="summary">
                    Writes out a formatted string and a new line, using the same semantics as <a href="http://msdn2.microsoft.com/en-us/library/fht0f5be" target="_blank">Format(String, Object)</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/60scc1f1" target="_blank">WriteLine(String, <span id="LST9680AF2E_12"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_12?cpp=array&lt;");</script>Object<span id="LST9680AF2E_13"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_13?cpp=&gt;|cs=[]|vb=()|nu=[]|fs=[]");</script>)</a></td><td><div class="summary">
                    Writes out a formatted string and a new line, using the same semantics as <a href="http://msdn2.microsoft.com/en-us/library/fht0f5be" target="_blank">Format(String, Object)</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/a8x1ysa5" target="_blank">WriteLine(<span id="LST9680AF2E_14"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_14?cpp=array&lt;");</script>Char<span id="LST9680AF2E_15"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST9680AF2E_15?cpp=&gt;|cs=[]|vb=()|nu=[]|fs=[]");</script>, Int32, Int32)</a></td><td><div class="summary">
                    Writes a subarray of characters followed by a line terminator to the text stream.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/e790y85d" target="_blank">WriteLine(String, Object, Object)</a></td><td><div class="summary">
                    Writes out a formatted string and a new line, using the same semantics as <a href="http://msdn2.microsoft.com/en-us/library/fht0f5be" target="_blank">Format(String, Object)</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr><tr data="public;inherited;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="http://msdn2.microsoft.com/en-us/library/1dxte882" target="_blank">WriteLine(String, Object, Object, Object)</a></td><td><div class="summary">
                    Writes out a formatted string and a new line, using the same semantics as <a href="http://msdn2.microsoft.com/en-us/library/fht0f5be" target="_blank">Format(String, Object)</a>.
                </div> (Inherited from <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">TextWriter</a>.)</td></tr></table><a href="#mainBody">Top</a><div class="OH_CollapsibleAreaRegion" id="seeAlsoSection"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><h4 class="subHeading">Reference</h4><div class="seeAlsoStyle"><a href="T_log4net_Util_ReusableStringWriter.htm">ReusableStringWriter Class</a></div><div class="seeAlsoStyle"><a href="N_log4net_Util.htm">log4net.Util Namespace</a></div></div></div></div></div><div id="OH_footer" class="OH_footer">Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.<p><a href="http://logging.apache.org/log4net/" target="_blank">Copyright 2004-2017 The Apache Software Foundation</a></p><div class="OH_feedbacklink">Send comments on this topic to
        <a id="HT_MailLink" href="mailto:http%3A%2F%2Flogging.apache.org%2Flog4net%2Fmail-lists.html?Subject=Apache log4net™ SDK Documentation">http://logging.apache.org/log4net/mail-lists.html</a></div><script type="text/javascript">
        var HT_mailLink = document.getElementById("HT_MailLink");
        var HT_mailLinkText = HT_mailLink.innerHTML;
        HT_mailLink.href += ": " + document.title + "\u0026body=" + encodeURIComponent("Your feedback is used to improve the documentation and the product. Your e-mail address will not be used for any other purpose and is disposed of after the issue you report is resolved. While working to resolve the issue that you report, you may be contacted via e-mail to get further details or clarification on the feedback you sent. After the issue you report has been addressed, you may receive an e-mail to let you know that your feedback has been addressed.");
        HT_mailLink.innerHTML = HT_mailLinkText;
        </script> </div></body></html>