<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>AddConverter 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">PatternLayout.AddConverter�Method</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Add a converter to this PatternLayout </p>
      <h4 class="dtH4">Overload List</h4>
      <p> Add a converter to this PatternLayout </p>
      <blockquote class="dtBlock">
        <a href="log4net.Layout.PatternLayout.AddConverter_overload_1.html">public�void�AddConverter(ConverterInfo);</a>
      </blockquote>
      <p> Add a converter to this PatternLayout </p>
      <blockquote class="dtBlock">
        <a href="log4net.Layout.PatternLayout.AddConverter_overload_2.html">public�void�AddConverter(string,Type);</a>
      </blockquote>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Layout.PatternLayout.html">PatternLayout Class</a> | <a href="log4net.Layout.html">log4net.Layout 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>
