I have a C# GRPC library that I am converting, I have complex protobuf-net objects (defined in C#) using features like inheritance. How can I convert these objects to native .proto files? If possible, I would like it to use composition instead of inheritance.
i.e
[ProtoContract]
class Person {
[ProtoMember(1)]
public int Id {get;set;}
[ProtoMember(2)]
public string Name {get;set;}
[ProtoMember(3)]
public Address Address {get;set;}
}
[ProtoContract]
class Address {
[ProtoMember(1)]
public string Line1 {get;set;}
[ProtoMember(2)]
public string Line2 {get;set;}
}
output:
syntax = "proto3";
package example;
// Message definition for Address
message Address {
string line1 = 1;
string line2 = 2;
}
// Message definition for Person
message Person {
int32 id = 1;
string name = 2;
Address address = 3;
}