Skip to content

Instantly share code, notes, and snippets.

@devoyster
devoyster / ProtobufAutoContract.cs
Created December 13, 2011 21:24
protobuf-net registering type at runtime
var model = RuntimeTypeModel.Default;
// Obtain all serializable types having no explicit proto contract
var serializableTypes = Assembly.GetExecutingAssembly()
.GetTypes()
.Where(t => t.IsSerializable && !Attribute.IsDefined(t, typeof(ProtoContractAttribute)));
foreach (var type in serializableTypes)
{
var metaType = model.Add(type, false);
metaType.AsReferenceDefault = true;