跨语言没有标准的 Thrift API,因此除了序列化之外你能做的事情高度依赖于语言。如果仅使用反射无法完成您想要的任务,请检查 thrift 编译器为您感兴趣的 thrift 对象生成的代码。我还没有看到 C# thrift 生成的代码,但它可能包含可能包含的其他数据对你有用。
我对 Java 实现非常熟悉,我可以告诉你,在 Java 中使用 thrift 根本不需要使用反射。每个 thrift 生成的类都包含允许解串器根据字段 ID 号重建类的信息。java thrift 编译器创建静态成员和方法,其中包含您想要的几乎所有内容。对于Java来说,它实际上比反射更好,因为它包含列表/映射/集合的元素类型。
现在不能保证这些数据的格式在 thrift 的未来版本中不会改变,但考虑到所有各种协议都依赖于它们,“隐藏”API 应该相当稳定。
| 归档时间: |
|
| 查看次数: |
1695 次 |
| 最近记录: |