<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>ConverterRegistry.GetConvertTo 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">ConverterRegistry.GetConvertTo�Method�</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Gets the type converter to use to convert values to the destination type. </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />Public�Shared�Function�GetConvertTo( _<br />���ByVal <i>sourceType</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemTypeClassTopic.htm">Type</a>,�_<br />���ByVal <i>destinationType</i>�As�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemTypeClassTopic.htm">Type</a>�_<br />)�As�<a href="log4net.Util.TypeConverters.IConvertTo.html">IConvertTo</a></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�static�<a href="log4net.Util.TypeConverters.IConvertTo.html">IConvertTo</a>�GetConvertTo(<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemTypeClassTopic.htm">Type</a>�<i>sourceType</i>,<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemTypeClassTopic.htm">Type</a>�<i>destinationType</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>sourceType</i>
        </dt>
        <dd>The type being converted from.</dd>
        <dt>
          <i>destinationType</i>
        </dt>
        <dd>The type being converted to.</dd>
      </dl>
      <h4 class="dtH4">Return Value</h4>
      <p> The type converter instance to use for type conversions or <code>null</code> if no type converter is found. </p>
      <h4 class="dtH4">Remarks</h4>
            <p> Gets the type converter to use to convert values to the destination type. </p>
            <h4 class="dtH4">See Also</h4><p><a href="log4net.Util.TypeConverters.ConverterRegistry.html">ConverterRegistry Class</a> | <a href="log4net.Util.TypeConverters.html">log4net.Util.TypeConverters Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="GetConvertTo method"></param><param name="Keyword" value="GetConvertTo method, ConverterRegistry class"></param><param name="Keyword" value="ConverterRegistry.GetConvertTo 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>
