﻿<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"><head><link rel="SHORTCUT ICON" href="./../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { backgroundImageName: tabLeftBG.gif; }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { backgroundImageName: tabRightBG.gif; }.OH_footer { backgroundImageName: footer_slice.gif; background-position: top; background-repeat: repeat-x; }</style><link rel="stylesheet" type="text/css" href="./../styles/branding.css" /><link rel="stylesheet" type="text/css" href="./../styles/branding-en-US.css" /><style type="text/css">
			body
			{
			border-left:5px solid #e6e6e6;
			overflow-x:scroll;
			overflow-y:scroll;
			}
		</style><script src="./../scripts/branding.js" type="text/javascript"><!----></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>PluginCollection.CopyTo Method </title><meta name="Language" content="en-us" /><meta name="System.Keywords" content="CopyTo method" /><meta name="System.Keywords" content="PluginCollection.CopyTo method" /><meta name="Microsoft.Help.F1" content="log4net.Plugin.PluginCollection.CopyTo" /><meta name="Microsoft.Help.Id" content="Overload:log4net.Plugin.PluginCollection.CopyTo" /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Plugin" /><meta name="file" content="Overload_log4net_Plugin_PluginCollection_CopyTo" /><meta name="guid" content="Overload_log4net_Plugin_PluginCollection_CopyTo" /><link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" /><meta name="SelfBranded" content="true" /></head><body onload="onLoad()" class="primary-mtps-offline-document"><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">PluginCollection<span id="ID0EBBABAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBABAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>CopyTo 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="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Overload List</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 class="ps_nameColumn">Name</th><th class="ps_descriptionColumn">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_Plugin_PluginCollection_CopyTo.htm" target="">CopyTo(<span id="ID0EDABBBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EDABBBCAAAAA?vb=|cpp=array&lt;|cs=|fs=|nu=");
				</script>IPlugin<span id="ID0EBABBBCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABBBCAAAAA?vb=()|cpp=&gt;|cs=[]|fs=[]|nu=[]");
				</script>)</a></td><td><div class="summary">
            Copies the entire <span class="code">PluginCollection</span> to a one-dimensional
            <a href="T_log4net_Plugin_IPlugin.htm" target="">IPlugin</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_Plugin_PluginCollection_CopyTo_1.htm" target="">CopyTo(<span id="ID0EDABABCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EDABABCAAAAA?vb=|cpp=array&lt;|cs=|fs=|nu=");
				</script>IPlugin<span id="ID0EBABABCAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABABCAAAAA?vb=()|cpp=&gt;|cs=[]|fs=[]|nu=[]");
				</script>, Int32)</a></td><td><div class="summary">
            Copies the entire <span class="code">PluginCollection</span> to a one-dimensional
            <a href="T_log4net_Plugin_IPlugin.htm" target="">IPlugin</a> array, starting at the specified index of the target array.
            </div></td></tr></table><a href="#mainBody" target="">Back to Top</a><a name="seeAlsoSection"><!----></a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div class="seeAlsoStyle"><a href="T_log4net_Plugin_PluginCollection.htm" target="">PluginCollection Class</a></div><div class="seeAlsoStyle"><a href="AllMembers_T_log4net_Plugin_PluginCollection.htm" target="">PluginCollection Members</a></div><div class="seeAlsoStyle"><a href="N_log4net_Plugin.htm" target="">log4net.Plugin Namespace</a></div></div></div></div></div><div id="OH_footer" class="OH_footer"><p>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</p><p><a href="http://logging.apache.org/log4net/" target="_blank"><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /> 
						Copyright 2004-2015 The Apache Software Foundation (http://logging.apache.org/log4net/)</a></p><div class="OH_feedbacklink"><a href="mailto:http://logging.apache.org/log4net/mail-lists.html?subject=Apache+log4net%e2%84%a2+SDK+Documentation+PluginCollection.CopyTo+Method++100+EN-US&amp;body=Your%20feedback%20is%20used%20to%20improve%20the%20documentation%20and%20the%20product.%20Your%20e-mail%20address%20will%20not%20be%20used%20for%20any%20other%20purpose%20and%20is%20disposed%20of%20after%20the%20issue%20you%20report%20is%20resolved.%20While%20working%20to%20resolve%20the%20issue%20that%20you%20report%2c%20you%20may%20be%20contacted%20via%20e-mail%20to%20get%20further%20details%20or%20clarification%20on%20the%20feedback%20you%20sent.%20After%20the%20issue%20you%20report%20has%20been%20addressed%2c%20you%20may%20receive%20an%20e-mail%20to%20let%20you%20know%20that%20your%20feedback%20has%20been%20addressed.">Send Feedback</a> on this topic to http://logging.apache.org/log4net/mail-lists.html.</div></div></body></html>