C#: Library for mapping one complex object to another
<p>I'm getting a complex object from the server - lets call it ServerDTO. I want to map it to a client side object - lets call it ClientDTO.</p>

<p>assuming both ServerDTO &amp; ClientDTO have the same structure inside them.</p>

<p>I want to map the ServerDTO object to the ClientDTO object.
very simple mapping like so:</p>

<pre><code>ServerDTO sd = server.Result;
ClientDTO cd = new ClientDTO();
cd.Property1 = sd.Property1;
cd.JahRas = sd. JahRas;
</code></pre>

<p>and so on...</p>

<p>so far so good.</p>

<p>now my question is can this mapping be done in some abstracted layer that can handle all the mapping of all my objects no matter what type or what's inside them?</p>

<p>so when I want to map I'll go:</p>

<pre><code>ClientDTO cd = Mapper.Map(sourceServerDTO, typeOf(ClientDTO)); 
</code></pre>
