﻿<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>DefaultRenderer.RenderObject Method </title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="RenderObject method" /><meta name="System.Keywords" content="DefaultRenderer.RenderObject method" /><meta name="Microsoft.Help.F1" content="log4net.ObjectRenderer.DefaultRenderer.RenderObject" /><meta name="Microsoft.Help.Id" content="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)" /><meta name="Description" content="Render the object to a string" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="log4net.ObjectRenderer" /><meta name="file" content="M_log4net_ObjectRenderer_DefaultRenderer_RenderObject" /><meta name="guid" content="M_log4net_ObjectRenderer_DefaultRenderer_RenderObject" /></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">DefaultRenderer<span id="LST4393503_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST4393503_0?cpp=::|nu=.");</script>RenderObject Method </td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span><div class="summary">
            Render the object <span class="parameter">obj</span> to a string
            </div><p> </p><strong>Namespace:</strong> <a href="N_log4net_ObjectRenderer.htm">log4net.ObjectRenderer</a><br /><strong>Assembly:</strong> log4net (in log4net.dll) Version: 2.0.6.0-.NET 4.0<div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Syntax</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><div class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs"><div class="OH_CodeSnippetContainerTabLeft" id="ID0EDCA_tabimgleft"> </div><div id="ID0EDCA_tab1" class="OH_CodeSnippetContainerTabFirst"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','cs','1','4');return false;">C#</a></div><div id="ID0EDCA_tab2" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','vb','2','4');return false;">VB</a></div><div id="ID0EDCA_tab3" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','cpp','3','4');return false;">C++</a></div><div id="ID0EDCA_tab4" class="OH_CodeSnippetContainerTab"><a href="#" onclick="javascript:ChangeTab('ID0EDCA','fs','4','4');return false;">F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0EDCA_tabimgright"> </div></div><div class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0EDCA_copyCode" href="#" onclick="javascript:CopyToClipboard('ID0EDCA');return false;" title="Copy">Copy</a></div></div><div id="ID0EDCA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre xml:space="preserve"><span class="keyword">public</span> <span class="keyword">void</span> <span class="identifier">RenderObject</span>(
	<span class="identifier">RendererMap</span> <span class="parameter">rendererMap</span>,
	<span class="identifier">Object</span> <span class="parameter">obj</span>,
	<span class="identifier">TextWriter</span> <span class="parameter">writer</span>
)</pre></div><div id="ID0EDCA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">Public</span> <span class="keyword">Sub</span> <span class="identifier">RenderObject</span> ( 
	<span class="parameter">rendererMap</span> <span class="keyword">As</span> <span class="identifier">RendererMap</span>,
	<span class="parameter">obj</span> <span class="keyword">As</span> <span class="identifier">Object</span>,
	<span class="parameter">writer</span> <span class="keyword">As</span> <span class="identifier">TextWriter</span>
)</pre></div><div id="ID0EDCA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">public</span>:
<span class="keyword">virtual</span> <span class="keyword">void</span> <span class="identifier">RenderObject</span>(
	<span class="identifier">RendererMap</span>^ <span class="parameter">rendererMap</span>, 
	<span class="identifier">Object</span>^ <span class="parameter">obj</span>, 
	<span class="identifier">TextWriter</span>^ <span class="parameter">writer</span>
) <span class="keyword">sealed</span></pre></div><div id="ID0EDCA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">abstract</span> <span class="identifier">RenderObject</span> : 
        <span class="parameter">rendererMap</span> : <span class="identifier">RendererMap</span> * 
        <span class="parameter">obj</span> : <span class="identifier">Object</span> * 
        <span class="parameter">writer</span> : <span class="identifier">TextWriter</span> <span class="keyword">-&gt;</span> <span class="keyword">unit</span> 
<span class="keyword">override</span> <span class="identifier">RenderObject</span> : 
        <span class="parameter">rendererMap</span> : <span class="identifier">RendererMap</span> * 
        <span class="parameter">obj</span> : <span class="identifier">Object</span> * 
        <span class="parameter">writer</span> : <span class="identifier">TextWriter</span> <span class="keyword">-&gt;</span> <span class="keyword">unit</span> </pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EDCA");</script><h4 class="subHeading">Parameters</h4><dl><dt><span class="parameter">rendererMap</span></dt><dd>Type: <a href="T_log4net_ObjectRenderer_RendererMap.htm">log4net.ObjectRenderer<span id="LST4393503_1"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST4393503_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>RendererMap</a><br />The map used to lookup renderers</dd><dt><span class="parameter">obj</span></dt><dd>Type: <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">System<span id="LST4393503_2"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST4393503_2?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>Object</a><br />The object to render</dd><dt><span class="parameter">writer</span></dt><dd>Type: <a href="http://msdn2.microsoft.com/en-us/library/ywxh2328" target="_blank">System.IO<span id="LST4393503_3"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST4393503_3?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>TextWriter</a><br />The writer to render to</dd></dl><h4 class="subHeading">Implements</h4><a href="M_log4net_ObjectRenderer_IObjectRenderer_RenderObject.htm">IObjectRenderer<span id="LST4393503_4"></span><script type="text/javascript">AddLanguageSpecificTextSet("LST4393503_4?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>RenderObject(RendererMap, Object, TextWriter)</a><br /><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Remarks</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><p>
            Render the object <span class="parameter">obj</span> to a string.
            </p><p>
            The <span class="parameter">rendererMap</span> parameter is
            provided to lookup and render other objects. This is
            very useful where <span class="parameter">obj</span> contains
            nested objects of unknown type. The <span class="nolink">FindAndRender(object)</span>
            method can be used to render these objects.
            </p><p>
            The default renderer supports rendering objects to strings as follows:
            </p><div class="tableSection"><table><tr><th>Value</th><th>Rendered String</th></tr><tr><td><span class="code">null</span></td><td><p>"(null)"</p></td></tr><tr><td><a href="http://msdn2.microsoft.com/en-us/library/czz5hkty" target="_blank">Array</a></td><td><p>
            		For a one dimensional array this is the
            		array type name, an open brace, followed by a comma
            		separated list of the elements (using the appropriate
            		renderer), followed by a close brace. 
            		</p><p>
            		For example: <span class="code">int[] {1, 2, 3}</span>.
            		</p><p>
            		If the array is not one dimensional the 
            		<span class="code">Array.ToString()</span> is returned.
            		</p></td></tr><tr><td><a href="http://msdn2.microsoft.com/en-us/library/h1x9x1b1" target="_blank">IEnumerable</a>, <a href="http://msdn2.microsoft.com/en-us/library/b1ht6113" target="_blank">ICollection</a> &amp; <a href="http://msdn2.microsoft.com/en-us/library/1t2267t6" target="_blank">IEnumerator</a></td><td><p>
            		Rendered as an open brace, followed by a comma
            		separated list of the elements (using the appropriate
            		renderer), followed by a close brace.
            		</p><p>
            		For example: <span class="code">{a, b, c}</span>.
            		</p><p>
            		All collection classes that implement <a href="http://msdn2.microsoft.com/en-us/library/b1ht6113" target="_blank">ICollection</a> its subclasses, 
            		or generic equivalents all implement the <a href="http://msdn2.microsoft.com/en-us/library/h1x9x1b1" target="_blank">IEnumerable</a> interface.
            		</p></td></tr><tr><td><a href="http://msdn2.microsoft.com/en-us/library/9kth4sbk" target="_blank">DictionaryEntry</a></td><td><p>
            		Rendered as the key, an equals sign ('='), and the value (using the appropriate
            		renderer). 
            		</p><p>
            		For example: <span class="code">key=value</span>.
            		</p></td></tr><tr><td>other</td><td><p><span class="code">Object.ToString()</span></p></td></tr></table></div><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_ObjectRenderer_DefaultRenderer.htm">DefaultRenderer Class</a></div><div class="seeAlsoStyle"><a href="N_log4net_ObjectRenderer.htm">log4net.ObjectRenderer 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>