0

Thrift (Scrooge) で生成した Scala クラスがいくつかあります。今、私はどうにかしてそれらを TBase クラスとしてインスタンス化する必要があります.b/c TSerializerクラスはこれを入力として必要とします.

これが私のアプローチです:

  def createTestBinary(): String = {
    val proto = new TBinaryProtocol.Factory
    val err = new ClientError{}
    val binary = new TSerializer().serialize(err)
    ""
  }

ClientError は生成されたクラスです。TBase メンバーとしてインスタンス化またはラップするにはどうすればよいですか?

これを行う方法はありますか?前もって感謝します!

4

2 に答える 2

1

は必要ありませんTSerializer。これは、スクルージが生成したクラスではなく、「バニラ」倹約のためです。代わりに、次のようにする必要があります。

val transport = TMemoryBuffer(1024) // or whatever 
err.write(new TBinaryProtocol(transport))
val binary = transport.getArray
于 2016-05-23T14:00:06.243 に答える