title: protobuf-net deserialize with no access to base interface
body: <p>There are dozens of posts about [ProtoInclude] but I don't have access to the base IMessage interface its in a 3rd party lib. So what would be better a</p>
  
  <p>Write a Wrapper , this works with Json .net where it uses Known Type on the member lookups. 
  eg</p>
  
  <pre><code>[ProtoContract(1)]
  [ProtoInclude (1, typeof(Message1))]] 
  public class MessageHolder
  {
      [ProtoMember(1)]
      public IMessage {get; set;}  // eg Message1 : IMessage
  }
  </code></pre>
  
  <p>Or do I get the byte[] , manually put in my own code in the first few bytes lookup the type and manually dispatch using the remaining bytes ? </p>