Yes. If you have a Descriptor , you will get the number of fields using Descriptor::field_count(). Then you iterate over the fields with the help of Descriptor::field(int index)which FieldDescriptor returns , where you can find the name of each field using FieldDescriptor::name().
source
share