<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>Format 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">PatternString.Format�Method</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Format the pattern as a string </p>
      <h4 class="dtH4">Overload List</h4>
      <p> Format the pattern as a string </p>
      <blockquote class="dtBlock">
        <a href="log4net.Util.PatternString.Format_overload_2.html">public�string�Format();</a>
      </blockquote>
      <p> Produces a formatted string as specified by the conversion pattern. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Util.PatternString.Format_overload_1.html">public�void�Format(TextWriter);</a>
      </blockquote>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Util.PatternString.html">PatternString Class</a> | <a href="log4net.Util.html">log4net.Util 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>
