internal TransactDataP ToProto() { TransactDataP.Builder builder = TransactDataP.CreateBuilder(); builder.ConmandID = (uint)ConmandId; builder.AppID = AppId; builder.SdkVersion = SdkVersion; builder.CheckContent = CheckContent; builder.CheckSummary = CheckSummary; if (Req != null) { switch (Req.Type()) { case 1: builder.AuthReq = Req.ToProto() as SendAuthReq; break; case 2: builder.SendReq = Req.ToProto() as SendMessageToWXReq; break; case 3: builder.GetReq = Req.ToProto() as GetMessageFromWXReq; break; case 4: builder.ShowReq = Req.ToProto() as ShowMessageFromWXReq; break; case 5: builder.PayReq = Req.ToProto() as SendPayReqP; break; } } if (Resp != null) { switch (Resp.Type()) { case 1: builder.AuthResp = Resp.ToProto() as SendAuthResp; break; case 2: builder.SendResp = Resp.ToProto() as SendMessageToWXResp; break; case 3: builder.GetResp = Resp.ToProto() as GetMessageFromWXResp; break; case 4: builder.ShowResp = Resp.ToProto() as ShowMessageFromWXResp; break; case 5: builder.PayResp = Resp.ToProto() as SendPayRespP; break; } } return(builder.Build()); }