Protobuf-net serializar enumeración con valor fuera de rango

C # permite asignar cualquier valor entero a la enumeración.

Cuando trato de serializar (a través de protobuf-net) el objeto con el campo de enumeración cuyo valor está fuera de rango, se produce una excepción: no se asigna ningún valor de cable a la enumeración PersonLevel.

Mi enumeración PersonLevel no tiene el atributo Flags.

[ProtoContract(ImplicitFields = ImplicitFields.AllFields)]
public enum PersonLevel
{
  Unknown = 1
}

[ProtoContract(ImplicitFields = ImplicitFields.AllFields)]
public class Person
{
  ...

  public PersonLevel PersonLevel { get; set; }

  ...
}
var ms = new MemoryStream();

var person = new Person
{
  ...
  PersonLevel = (PersonLevel) 500
  ...
};

Serializer.Serialize(ms, person); //No wire-value is mapped to the enum PersonLevel

¿Hay alguna facilidad para hacerlo sin cambiar los objetos comerciales (tal vez algún atributo de protobuf)?

Respuestas a la pregunta(2)

Su respuesta a la pregunta