<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>IAppenderAttachable.GetAppender 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">IAppenderAttachable.GetAppender�Method�</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Gets an attached appender with the specified name. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Function�GetAppender( _<br />���ByVal <i>name</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">String</a>�_<br />)�As�<a href="log4net.Appender.IAppender.html">IAppender</a></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />
        <a href="log4net.Appender.IAppender.html">IAppender</a>�GetAppender(<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemStringClassTopic.htm">string</a>�<i>name</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>name</i>
        </dt>
        <dd>The name of the appender to get.</dd>
      </dl>
      <h4 class="dtH4">Return Value</h4>
      <p> The appender with the name specified, or <code>null</code> if no appender with the specified name is found. </p>
      <h4 class="dtH4">Remarks</h4>
            <p> Returns an attached appender with the <i>name</i> specified. If no appender with the specified name is found <code>null</code> will be returned. </p>
            <h4 class="dtH4">See Also</h4><p><a href="log4net.Core.IAppenderAttachable.html">IAppenderAttachable Interface</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="GetAppender method"></param><param name="Keyword" value="GetAppender method, IAppenderAttachable interface"></param><param name="Keyword" value="IAppenderAttachable.GetAppender 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>
