title: In protobuf-net, is there a way to specify a custom method to be used when serializing/deserializing a given type?
body: <p>In <a href="https://github.com/mgravell/protobuf-net/" rel="nofollow">protobuf-net</a> (Marc Gravell implementation), is there a way to specify a custom Serializer/Deserializer to be used everytime protobuf encouters a type to be serialized ?</p>
  
  <p>Something like that :</p>
  
  <pre><code>[ProtoContract]
  class Foo 
  {
      [ProtoMember(1), ProtoSerializer(BarSerializer)]
      public Bar Something { get; set; }
  }
  
  class BarSerializer
  {
     public void Serialize(object value, Protowriter writer)
     {
         //do something here with writer...
     }
  }
  </code></pre>
  
  <p>I looked at the docs but could not find anything.
  I know this is possible to use <code>Protowriter</code> directly to serialize an object (like this <a href="https://github.com/mgravell/protobuf-net/blob/master/DataTableSerializer/Program.cs" rel="nofollow">DataTable</a> example).</p>
  
  <p>What I would like to do is to use the custom serializer only for a given type and use default implementation for the other types already implemented (eg : int, string, ...)</p>