TL;DR This blog post shows how to replace .NET reflection with the functionality available on the IMessage interface, when dealing with C# objects generated using Protobuf's protoc compiler. IMessage.Descriptor is the way to access Protobuf Reflectio...