title: Can I control the visibility of the generated class with Protobuf-net?
body: <p>I'm using <a href="http://code.google.com/p/protobuf-net/" rel="nofollow">protobuf-net</a> (thanks Marc :) ) to serialize my object model, but I want the object model not to be visible outside my assembly (specifically, I want it to be internal).</p>
  
  <p>By default protobuf-net seems to generate public partial classes. Can I tell it to mark the class <code>internal</code>?</p>
  
  <p>Here's a cut down version of my <code>.proto</code> file:</p>
  
  <pre><code>package MyProject.Core.Persistence;
  
  option optimize_for = SPEED;
  
  message DataObject {
    required string name = 1;
    required int32 id = 2;
  }
  </code></pre>
  
  <p>Which generates the following class definition:</p>
  
  <pre><code>[global::System.Serializable,
     global::ProtoBuf.ProtoContract(Name=@"DataObject")]
  public partial class DataObject : global::ProtoBuf.IExtensible
  {
    public DataObject () {}
  
    ...
  }
  </code></pre>