Type conversion among data and business layers
<p>I have two standard layers i.e. Business and domain layers which contain similar objects and now i want to provide some standard way of converting objects back and fro from both sides. I found three options.</p>

<ol>
<li>Using Implicit or Explicit conversion. 
<ul>
<li>I basically don't like them as they don't provide a clean interface and no proper indications are available while converting.</li>
</ul></li>
<li>Using the <a href="http://msdn.microsoft.com/en-us/library/system.componentmodel.typeconverter.aspx" rel="nofollow">TypeConverter</a> class 
<ul>
<li>This provide the methods I am looking for but it forces me to inherit from this class which I would love to do if it is an interface but not a class. As it will restrict my options.</li>
</ul></li>
<li>Using <a href="http://msdn.microsoft.com/en-us/library/system.iconvertible.aspx" rel="nofollow">IConvertable</a> 
<ul>
<li>This just allow to convert to basic types but not to the custom types.</li>
</ul></li>
<li>Creating my own interface
<ul>
<li>I can create my own interface which allow my proper validation as well cleaner interface like IConvertable but I was just thinking is there any other option available rather then reinventing the wheel</li>
</ul></li>
</ol>

<p>So what other methods are available in .NET ?</p>
