<html dir="LTR">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>PluginCollection.AddRange Method (IPlugin[])</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />
  </head>
  <body id="bodyID" class="dtBODY">
    <div id="nsbanner">
      <div id="bannerrow1">
        <table class="bannerparthead" cellspacing="0">
          <tr id="hdr">
            <td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td>
            <td class="product">
            </td>
          </tr>
        </table>
      </div>
      <div id="TitleRow">
        <h1 class="dtH1">PluginCollection.AddRange�Method�(IPlugin[])</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Adds the elements of a <a href="log4net.Plugin.IPlugin.html">IPlugin</a> array to the current <code>PluginCollection</code>. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Overridable�Overloads�Public�Function�AddRange( _<br />���ByVal <i>x</i>�As�<a href="log4net.Plugin.IPlugin.html">IPlugin()</a>�_<br />)�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemInt32ClassTopic.htm">Integer</a></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�virtual�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemInt32ClassTopic.htm">int</a>�AddRange(<br />���<a href="log4net.Plugin.IPlugin.html">IPlugin[]</a>�<i>x</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>x</i>
        </dt>
        <dd>The <a href="log4net.Plugin.IPlugin.html">IPlugin</a> array whose elements should be added to the end of the <code>PluginCollection</code>.</dd>
      </dl>
      <h4 class="dtH4">Return Value</h4>
      <p>The new <a href="log4net.Plugin.PluginCollection.Count.html">Count</a> of the <code>PluginCollection</code>.</p>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Plugin.PluginCollection.html">PluginCollection Class</a> | <a href="log4net.Plugin.html">log4net.Plugin Namespace</a> | <a href="log4net.Plugin.PluginCollection.AddRange_overloads.html">PluginCollection.AddRange Overload List</a></p>
      <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;">
        <param name="Keyword" value="AddRange method">
        </param>
        <param name="Keyword" value="AddRange method, PluginCollection class">
        </param>
        <param name="Keyword" value="PluginCollection.AddRange method">
        </param>
      </object>
      <hr />
      <div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2011 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div>
    </div>
  </body>
</html>
