<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>IRepositorySelector Interface</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">IRepositorySelector Interface</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Interface used by the <a href="log4net.LogManager.html">LogManager</a> to select the <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a>. </p>
      <p>For a list of all members of this type, see <a href="log4net.Core.IRepositorySelectorMembers.html">IRepositorySelector Members</a>.</p>
      <p>
      </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Public�Interface�IRepositorySelector</div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <div>public�interface�IRepositorySelector</div>
      </div>
      <h4 class="dtH4">Types that implement IRepositorySelector</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
          <tr valign="top">
            <th width="50%">Type</th>
            <th width="50%">Description</th>
          </tr>
          <tr valign="top">
            <td width="50%">
              <a href="log4net.Core.CompactRepositorySelector.html">CompactRepositorySelector</a>
            </td>
            <td width="50%"> The implementation of the <a href="log4net.Core.IRepositorySelector.html">IRepositorySelector</a> interface suitable for use with the compact framework </td>
          </tr>
          <tr valign="top">
            <td width="50%">
              <a href="log4net.Core.DefaultRepositorySelector.html">DefaultRepositorySelector</a>
            </td>
            <td width="50%"> The default implementation of the <a href="log4net.Core.IRepositorySelector.html">IRepositorySelector</a> interface. </td>
          </tr>
        </table>
      </div>
      <h4 class="dtH4">Remarks</h4>
            <p> The <a href="log4net.LogManager.html">LogManager</a> uses a <b>IRepositorySelector</b> to specify the policy for selecting the correct <a href="log4net.Repository.ILoggerRepository.html">ILoggerRepository</a> to return to the caller. </p>
            <h4 class="dtH4">Requirements</h4><p><b>Namespace: </b><a href="log4net.Core.html">log4net.Core</a></p><p><b>Assembly: </b>log4net (in log4net.dll)
					</p><h4 class="dtH4">See Also</h4><p><a href="log4net.Core.IRepositorySelectorMembers.html">IRepositorySelector Members</a> | <a href="log4net.Core.html">log4net.Core Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="IRepositorySelector interface, about IRepositorySelector interface"></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>
