<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>Level.CompareTo 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">Level.CompareTo�Method�</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Compares this instance to a specified object and returns an indication of their relative values. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />NotOverridable�Public�Function�CompareTo( _<br />���ByVal <i>r</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">Object</a>�_<br />)�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemInt32ClassTopic.htm">Integer</a>�_<div>����Implements�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemIComparableClassCompareToTopic.htm">IComparable.CompareTo</a></div></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemInt32ClassTopic.htm">int</a>�CompareTo(<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">object</a>�<i>r</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>r</i>
        </dt>
        <dd>A <a href="log4net.Core.Level.html">Level</a> instance or a null reference
				  (<b>Nothing</b> in Visual Basic) to compare with this instance.</dd>
      </dl>
      <h4 class="dtH4">Return Value</h4>
      <p> A 32-bit signed integer that indicates the relative order of the values compared. The return value has these meanings: <div class="tablediv"><table class="dtTABLE" cellspacing="0"><tr valign="top">
            		<th width="50%">Value</th>
            		<th width="50%">Meaning</th>
            	</tr><tr valign="top">
            		<td>Less than zero</td>
            		<td>This instance is less than <i>r</i>.</td>
            	</tr><tr valign="top">
            		<td>Zero</td>
            		<td>This instance is equal to <i>r</i>.</td>
            	</tr><tr valign="top">
            		<td>Greater than zero</td>
            		<td>
            			<p>This instance is greater than <i>r</i>.</p>
            			<p>-or-</p>
            			<p><i>r</i> is a null reference
				  (<b>Nothing</b> in Visual Basic).</p>
            			</td>
            	</tr></table></div>
            </p>
      <h4 class="dtH4">Implements</h4>
      <p>
        <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemIComparableClassCompareToTopic.htm">IComparable.CompareTo</a>
      </p>
      <h4 class="dtH4">Remarks</h4>
            <p>
            <i>r</i> must be an instance of <a href="log4net.Core.Level.html">Level</a> or a null reference
				  (<b>Nothing</b> in Visual Basic); otherwise, an exception is thrown. </p>
            <h4 class="dtH4">Exceptions</h4><div class="tablediv"><table class="dtTABLE" cellspacing="0"><tr valign="top"><th width="50%">Exception Type</th><th width="50%">Condition</th></tr><tr valign="top"><td width="50%"><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemArgumentExceptionClassTopic.htm">ArgumentException</a></td><td width="50%"><i>r</i> is not a <a href="log4net.Core.Level.html">Level</a>.</td></tr></table></div><h4 class="dtH4">See Also</h4><p><a href="log4net.Core.Level.html">Level Class</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="CompareTo method"></param><param name="Keyword" value="CompareTo method, Level class"></param><param name="Keyword" value="Level.CompareTo method"></param></object><hr /><div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2013 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div></div>
  </body>
</html>
