我想破坏像这样的grpc消息。
message AskOrUpdateQuestionRequest {
int64 user_id = 1;
int64 product_id = 2;
core.model.QuestionProfile question = 3;
}
message QuestionProfile {
int64 id = 1;
Question.Status status = 2;
Question.Type type = 3;
string title = 4;
}
我试图破坏这个对象? (grpc消息)在kotlin
val (title) = request.question
然而,它失败并出现错误。
QuestionModelProtos.QuestionProfile类型的解构声明初始化程序!必须有一个' component1()'功能
我该如何开展这项工作
希望这是有道理的。
已解决:@Alex Filatov的回答帮助我解决了这个问题。
答案 0 :(得分:1)
val (title) = request.question
compiles to val title = request.question.component1()
。 Protobuf类没有componentX()
方法,因此您需要add them:
operator fun QuestionModelProtos.QuestionProfile.component1() = this.title