Thrifty 数据类型支持 - endink/Thrifty GitHub Wiki

Thrifty 数据类型


Thrifty 支持标准的 Thrift 数据类型,提供了 Thrift 到 C# 映射,除了标准映射外提供了额外的可用 C# 类型。 下表显示了 Thrifty 支持的数据类型:

基础类型

C# Thrift 说明
bool bool 布尔类型
byte byte 单字节(8位)
short i16 16位整数
int i32 32位整数
long i64 64位整数
double double 双精度浮点数
Enum enum 双精度浮点数
float * double 单精度浮点数
System.DateTime * i64
string string 双精度浮点数
Guid* string uuid类型
Decimal* string 128 位数据类型

原生 thrift 协议基础类型支持数组 ,例如支持 int[], long[],但并不支持 string[](Thrifty 通过 list 类型来实现 string[] 支持)。

提示:带 * 的类型不是 thrift 原生支持的数据类型,Thrifty 通过特定模拟来实现。

注意:DateTime 类型最终以1970 年 1 月 1 日 00:00:00 (UTC) 以来所经历的毫秒间隔数,代码可表示为:

(datetimeValue - new DateTime(1970, 0, 0, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds

集合类型

C# Thrift 说明
IDictionary<,> map 字典
Array list 数组
ISet<> set 集合
IList<> set 集合
IEnumerable<> list 集合

结构

C# Thrift 说明
Object strcut 对象

关于结构定义,点击这里了解详细信息*

异常

当前 swifty 版本不支持异常类型,请勿使用,所有服务端异常客户端统一处理为 Thrift.TException.

可空类型

C# 值类型均可以支持可空类型(Nullable<>),对用 thrift idl 中的 optional