<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>AddRange Method</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">LevelCollection.AddRange�Method</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Adds the elements of a <a href="log4net.Core.Level.html">Level</a> array to the current <code>LevelCollection</code>. </p>
      <h4 class="dtH4">Overload List</h4>
      <p> Adds the elements of a <a href="log4net.Core.Level.html">Level</a> array to the current <code>LevelCollection</code>. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Core.LevelCollection.AddRange_overload_2.html">public�virtual�int�AddRange(Level[]);</a>
      </blockquote>
      <p> Adds the elements of another <code>LevelCollection</code> to the current <code>LevelCollection</code>. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Core.LevelCollection.AddRange_overload_1.html">public�virtual�int�AddRange(LevelCollection);</a>
      </blockquote>
      <p> Adds the elements of a <a href="log4net.Core.Level.html">Level</a> collection to the current <code>LevelCollection</code>. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Core.LevelCollection.AddRange_overload_3.html">public�virtual�int�AddRange(ICollection);</a>
      </blockquote>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Core.LevelCollection.html">LevelCollection Class</a> | <a href="log4net.Core.html">log4net.Core Namespace</a></p>
      <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>
