一般的なオブジェクトを処理するための代替手段を探すのに時間を費やしました.私のものに似た質問を見てきましたが、私が思うほど具体的ではありませんか? プロトコル バッファには、使用できる複数のスカラー型がありますが、それらはほとんどプリミティブです。メッセージを柔軟にして、ある種のリストであるフィールドを持つことができるようにしたいと考えています。
私の .proto ファイルが次のようになったとしましょう:
message SomeMessage
{
string datetime = 1;
message inputData // This would be a list
{
repeated Object object = 1;
}
message Object
{
? // this need to be of a generic type - This is my question
// My work around - Using extentions with some Object
//List all primitive scalar types as optional and create an extension 100 to max;
}
message someObject //some random entity - for example, employee/company etc.
{
optional string name = 1; optional int32 id = 2;
}
extend Object
{
optional someObject obj = 101;
}
}
そして、これは問題なく機能し、オブジェクトが任意のプリミティブ型または List < someObject > である可能性がある List を取得します。ただし、ここでの問題は、新しいタイプのオブジェクトを処理する必要があるときはいつでも、.proto ファイルを編集し、C# および Java (必要な言語) 用に再コンパイルする必要があることです...
プロトコル バッファがジェネリック オブジェクト タイプを処理できない場合、できる別の代替手段はありますか? この問題に関するヘルプは大歓迎です。