<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>PluginAttribute Constructor</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">PluginAttribute�Constructor</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Initializes a new instance of the <a href="log4net.Config.PluginAttribute.html">PluginAttribute</a> class with the specified type. </p>
      <h4 class="dtH4">Overload List</h4>
      <p> Initializes a new instance of the <a href="log4net.Config.PluginAttribute.html">PluginAttribute</a> class with the specified type. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.PluginAttributeConstructor1.html">public�PluginAttribute(string);</a>
      </blockquote>
      <p> Initializes a new instance of the <a href="log4net.Config.PluginAttribute.html">PluginAttribute</a> class with the specified type. </p>
      <blockquote class="dtBlock">
        <a href="log4net.Config.PluginAttributeConstructor2.html">public�PluginAttribute(Type);</a>
      </blockquote>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Config.PluginAttribute.html">PluginAttribute Class</a> | <a href="log4net.Config.html">log4net.Config Namespace</a></p>
      <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;">
        <param name="Keyword" value="PluginAttribute class, constructors">
        </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>
