<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>RawLayoutConverter.ConvertFrom 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">RawLayoutConverter.ConvertFrom�Method�</h1>
      </div>
    </div>
    <div id="nstext">
      <p> Convert the value to a <a href="log4net.Layout.IRawLayout.html">IRawLayout</a> object </p>
      <div class="syntax">
        <span class="lang">[Visual�Basic]</span>
        <br />NotOverridable�Public�Function�ConvertFrom( _<br />���ByVal <i>source</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/frlrfSystemObjectClassTopic.htm">Object</a>�_<div>����Implements�<a href="log4net.Util.TypeConverters.IConvertFrom.ConvertFrom.html">IConvertFrom.ConvertFrom</a></div></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <br />public�<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">object</a>�ConvertFrom(<br />���<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">object</a>�<i>source</i><br />);</div>
      <h4 class="dtH4">Parameters</h4>
      <dl>
        <dt>
          <i>source</i>
        </dt>
        <dd>the value to convert</dd>
      </dl>
      <h4 class="dtH4">Return Value</h4>
      <p>the <a href="log4net.Layout.IRawLayout.html">IRawLayout</a> object</p>
      <h4 class="dtH4">Implements</h4>
      <p>
        <a href="log4net.Util.TypeConverters.IConvertFrom.ConvertFrom.html">IConvertFrom.ConvertFrom</a>
      </p>
      <h4 class="dtH4">Remarks</h4>
            <p> Convert the <i>source</i> object to a <a href="log4net.Layout.IRawLayout.html">IRawLayout</a> object. If the <i>source</i> object is a <a href="log4net.Layout.ILayout.html">ILayout</a> then the <a href="log4net.Layout.Layout2RawLayoutAdapter.html">Layout2RawLayoutAdapter</a> is used to adapt between the two interfaces, otherwise an exception is thrown. </p>
            <h4 class="dtH4">See Also</h4><p><a href="log4net.Layout.RawLayoutConverter.html">RawLayoutConverter Class</a> | <a href="log4net.Layout.html">log4net.Layout Namespace</a></p><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;"><param name="Keyword" value="ConvertFrom method"></param><param name="Keyword" value="ConvertFrom method, RawLayoutConverter class"></param><param name="Keyword" value="RawLayoutConverter.ConvertFrom 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>
