title: Subtype fieldnumber order dependent in protobuf-net
body: <p>I can see that protobuf-net seems to need to have deterministic ordering on the run type model. What's a good strategy to use without the need of having attributes on each class for the ordering. </p>
  
  <p>How does protobuf it self do if it were that you were implementing by attributes instead ?</p>
  
  <pre><code>model.Add(typeof(IMessage), false).AddSubType(8500, typeof(DogBarkedEvent));
  model.Add(typeof(IMessage), false).AddSubType(8501, typeof(DogBarkedEvent2));
  </code></pre>
  
  <p>if I create a new model and try to deserialize with</p>
  
  <pre><code>model2.Add(typeof(IMessage), false).AddSubType(8655, typeof(DogBarkedEvent));
  model2.Add(typeof(IMessage), false).AddSubType(5300, typeof(DogBarkedEvent2));
  </code></pre>
  
  <p>it sure fails.</p>
  
  <p>I do not know how many subtypes there will be at runtime, thats why i have a concern that the order may change next time an application is launched.</p>
  
  <p>I've read this previous post <a href="https://stackoverflow.com/questions/6702172/protobuf-net-v2-type-meta">protobuf-net v2 type meta</a> it though doesnt say how the a good approach regarding the UniqueIdentifier is generated.</p>