如何破坏kotlin grpc消息?

我想破坏这样的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 

但是,它失败了一个错误。

解构typesQuestionModelProtos.QuestionProfile的声明初始化器! 必须具有“component1()”function

我怎样才能做到这一点

希望这是有道理的。

解决 :@Alex Filatov的答案帮助我解决了这个问题。

val (title) = request.question 编译为 val title = request.question.component1() 。 Protobuf类没有componentX()方法,所以你需要添加它们 :

operator fun QuestionModelProtos.QuestionProfile.component1() = this.title