﻿<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>AppenderCollection Class</title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="AppenderCollection class" /><meta name="System.Keywords" content="log4net.Appender.AppenderCollection class" /><meta name="System.Keywords" content="AppenderCollection class, about AppenderCollection class" /><meta name="Microsoft.Help.F1" content="log4net.Appender.AppenderCollection" /><meta name="Microsoft.Help.Id" content="T:log4net.Appender.AppenderCollection" /><meta name="Description" content="A strongly-typed collection of objects." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="true" /><meta name="container" content="log4net.Appender" /><meta name="file" content="T_log4net_Appender_AppenderCollection" /><meta name="guid" content="T_log4net_Appender_AppenderCollection" /></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">AppenderCollection Class</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">
            A strongly-typed collection of <a href="T_log4net_Appender_IAppender.htm">IAppender</a> objects.
            </div><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Inheritance Hierarchy</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"> </div><a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">System<span id="LSTA66B4933_0"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTA66B4933_0?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>Object</a><br />  <span class="selflink">log4net.Appender<span id="LSTA66B4933_1"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTA66B4933_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>AppenderCollection</span><br /><p> </p><strong>Namespace:</strong> <a href="N_log4net_Appender.htm">log4net.Appender</a><br /><strong>Assembly:</strong> log4net (in log4net.dll) Version: 2.0.8.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">class</span> <span class="identifier">AppenderCollection</span> : <span class="identifier">IList</span>, 
	<span class="identifier">ICollection</span>, <span class="identifier">IEnumerable</span>, <span class="identifier">ICloneable</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">Class</span> <span class="identifier">AppenderCollection</span>
	<span class="keyword">Implements</span> <span class="identifier">IList</span>, <span class="identifier">ICollection</span>, <span class="identifier">IEnumerable</span>, <span class="identifier">ICloneable</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">ref class</span> <span class="identifier">AppenderCollection</span> : <span class="identifier">IList</span>, 
	<span class="identifier">ICollection</span>, <span class="identifier">IEnumerable</span>, <span class="identifier">ICloneable</span></pre></div><div id="ID0EDCA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre xml:space="preserve"><span class="keyword">type</span> <span class="identifier">AppenderCollection</span> =  
    <span class="keyword">class</span>
        <span class="keyword">interface</span> <span class="identifier">IList</span>
        <span class="keyword">interface</span> <span class="identifier">ICollection</span>
        <span class="keyword">interface</span> <span class="identifier">IEnumerable</span>
        <span class="keyword">interface</span> <span class="identifier">ICloneable</span>
    <span class="keyword">end</span></pre></div></div></div><script type="text/javascript">AddLanguageTabSet("ID0EDCA");</script><p>The <span class="selflink">AppenderCollection</span> type exposes the following members.</p><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Properties</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;declared;notNetfw;"><td><img src="../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Appender_AppenderCollection_Capacity.htm">Capacity</a></td><td><div class="summary">
            Gets or sets the number of elements the <span class="code">AppenderCollection</span> can contain.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Appender_AppenderCollection_Count.htm">Count</a></td><td><div class="summary">
            Gets the number of elements actually contained in the <span class="code">AppenderCollection</span>.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Appender_AppenderCollection_IsFixedSize.htm">IsFixedSize</a></td><td><div class="summary">
            Gets a value indicating whether the collection has a fixed size.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Appender_AppenderCollection_IsReadOnly.htm">IsReadOnly</a></td><td><div class="summary">
            Gets a value indicating whether the IList is read-only.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Appender_AppenderCollection_IsSynchronized.htm">IsSynchronized</a></td><td><div class="summary">
            Gets a value indicating whether access to the collection is synchronized (thread-safe).
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Appender_AppenderCollection_Item.htm">Item</a></td><td><div class="summary">
            Gets or sets the <a href="T_log4net_Appender_IAppender.htm">IAppender</a> at the specified index.
            </div></td></tr><tr data="public;declared;notNetfw;"><td><img src="../icons/pubproperty.gif" alt="Public property" title="Public property" /></td><td><a href="P_log4net_Appender_AppenderCollection_SyncRoot.htm">SyncRoot</a></td><td><div class="summary">
            Gets an object that can be used to synchronize access to the collection.
            </div></td></tr></table><a href="#mainBody">Top</a><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;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Appender_AppenderCollection_Add.htm">Add</a></td><td><div class="summary">
            Adds a <a href="T_log4net_Appender_IAppender.htm">IAppender</a> to the end of the <span class="code">AppenderCollection</span>.
            </div></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_Appender_AppenderCollection_AddRange_2.htm">AddRange(ICollection)</a></td><td><div class="summary">
            Adds the elements of a <a href="T_log4net_Appender_IAppender.htm">IAppender</a> collection to the current <span class="code">AppenderCollection</span>.
            </div></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_Appender_AppenderCollection_AddRange.htm">AddRange(AppenderCollection)</a></td><td><div class="summary">
            Adds the elements of another <span class="code">AppenderCollection</span> to the current <span class="code">AppenderCollection</span>.
            </div></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_Appender_AppenderCollection_AddRange_1.htm">AddRange(<span id="LSTA66B4933_2"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTA66B4933_2?cpp=array&lt;");</script>IAppender<span id="LSTA66B4933_3"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTA66B4933_3?cpp=&gt;|cs=[]|vb=()|nu=[]|fs=[]");</script>)</a></td><td><div class="summary">
            Adds the elements of a <a href="T_log4net_Appender_IAppender.htm">IAppender</a> array to the current <span class="code">AppenderCollection</span>.
            </div></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_Appender_AppenderCollection_Clear.htm">Clear</a></td><td><div class="summary">
            Removes all elements from the <span class="code">AppenderCollection</span>.
            </div></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_Appender_AppenderCollection_Clone.htm">Clone</a></td><td><div class="summary">
            Creates a shallow copy of the <span class="selflink">AppenderCollection</span>.
            </div></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_Appender_AppenderCollection_Contains.htm">Contains</a></td><td><div class="summary">
            Determines whether a given <a href="T_log4net_Appender_IAppender.htm">IAppender</a> is in the <span class="code">AppenderCollection</span>.
            </div></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_Appender_AppenderCollection_CopyTo.htm">CopyTo(<span id="LSTA66B4933_4"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTA66B4933_4?cpp=array&lt;");</script>IAppender<span id="LSTA66B4933_5"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTA66B4933_5?cpp=&gt;|cs=[]|vb=()|nu=[]|fs=[]");</script>)</a></td><td><div class="summary">
            Copies the entire <span class="code">AppenderCollection</span> to a one-dimensional
            <a href="T_log4net_Appender_IAppender.htm">IAppender</a> array.
            </div></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_Appender_AppenderCollection_CopyTo_1.htm">CopyTo(<span id="LSTA66B4933_6"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTA66B4933_6?cpp=array&lt;");</script>IAppender<span id="LSTA66B4933_7"></span><script type="text/javascript">AddLanguageSpecificTextSet("LSTA66B4933_7?cpp=&gt;|cs=[]|vb=()|nu=[]|fs=[]");</script>, Int32)</a></td><td><div class="summary">
            Copies the entire <span class="code">AppenderCollection</span> to a one-dimensional
            <a href="T_log4net_Appender_IAppender.htm">IAppender</a> array, starting at the specified index of the target array.
            </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/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;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Appender_AppenderCollection_GetEnumerator.htm">GetEnumerator</a></td><td><div class="summary">
            Returns an enumerator that can iterate through the <span class="code">AppenderCollection</span>.
            </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/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/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;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Appender_AppenderCollection_IndexOf.htm">IndexOf</a></td><td><div class="summary">
            Returns the zero-based index of the first occurrence of a <a href="T_log4net_Appender_IAppender.htm">IAppender</a>
            in the <span class="code">AppenderCollection</span>.
            </div></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_Appender_AppenderCollection_Insert.htm">Insert</a></td><td><div class="summary">
            Inserts an element into the <span class="code">AppenderCollection</span> at the specified index.
            </div></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</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="public;static;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /><img src="../icons/static.gif" alt="Static member" title="Static member" /></td><td><a href="M_log4net_Appender_AppenderCollection_ReadOnly.htm">ReadOnly</a></td><td><div class="summary">
            Creates a read-only wrapper for a <span class="code">AppenderCollection</span> instance.
            </div></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_Appender_AppenderCollection_Remove.htm">Remove</a></td><td><div class="summary">
            Removes the first occurrence of a specific <a href="T_log4net_Appender_IAppender.htm">IAppender</a> from the <span class="code">AppenderCollection</span>.
            </div></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_Appender_AppenderCollection_RemoveAt.htm">RemoveAt</a></td><td><div class="summary">
            Removes the element at the specified index of the <span class="code">AppenderCollection</span>.
            </div></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_Appender_AppenderCollection_ToArray.htm">ToArray</a></td><td><div class="summary">
            Return the collection elements as an array
            </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/7bxwbwt2" target="_blank">ToString</a></td><td><div class="summary">
                    Returns a <a href="http://msdn2.microsoft.com/en-us/library/s1wwdcbf" target="_blank">String</a> that represents 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="public;declared;notNetfw;"><td><img src="../icons/pubmethod.gif" alt="Public method" title="Public method" /></td><td><a href="M_log4net_Appender_AppenderCollection_TrimToSize.htm">TrimToSize</a></td><td><div class="summary">
            Sets the capacity to the actual number of elements.
            </div></td></tr></table><a href="#mainBody">Top</a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Fields</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;static;declared;notNetfw;"><td><img src="../icons/pubfield.gif" alt="Public field" title="Public field" /><img src="../icons/static.gif" alt="Static member" title="Static member" /></td><td><a href="F_log4net_Appender_AppenderCollection_EmptyCollection.htm">EmptyCollection</a></td><td><div class="summary">
            An empty readonly static AppenderCollection
            </div></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="N_log4net_Appender.htm">log4net.Appender 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>