public void Write(TSerializer oprot) { TStruct struc = new TStruct("TApplicationException"); TField field = new TField(); //在流中写入TStruct的name:"TApplicationException" oprot.WriteStructBegin(struc); //判断Message是否为空 if (!String.IsNullOrEmpty(Message)) { field.Name = "message"; field.Type = TType.String; field.ID = 1; oprot.WriteFieldBegin(field); oprot.WriteString(Message); oprot.WriteFieldEnd();//空 } //再写一个field到流中 field.Name = "type"; field.Type = TType.I32; field.ID = 2; oprot.WriteFieldBegin(field); //在流中写入异常的类型 oprot.WriteI32((int)type); oprot.WriteFieldEnd(); //完成后写一个Stop标志 WriteByte((byte)TType.Stop) oprot.WriteFieldStop(); oprot.WriteStructEnd(); }