| using System; | 
|   | 
| namespace Top.Tmc | 
| { | 
|     public class MessageArgs : EventArgs | 
|     { | 
|         protected internal bool _isFail; | 
|         protected internal string _reason; | 
|         protected internal bool _isConfirmed; | 
|         private Action<Message> confirm; | 
|   | 
|         /// <summary>获取消息 | 
|         /// </summary> | 
|         public Message Message { get; private set; } | 
|   | 
|         public MessageArgs(Message message, Action<Message> confirm) | 
|         { | 
|             this.Message = message; | 
|             this.confirm = confirm; | 
|         } | 
|         /// <summary>将当前消息处理设置为失败,若该消息启用了重试,失败的消息将会再指定时间内重新发送 | 
|         /// </summary> | 
|         public void Fail() | 
|         { | 
|             this.Fail(string.Empty); | 
|         } | 
|         /// <summary>将当前消息处理设置为失败,若该消息启用了重试,失败的消息将会再指定时间内重新发送 | 
|         /// <param name="reason">指定失败原因</param> | 
|         /// </summary> | 
|         public void Fail(string reason) | 
|         { | 
|             this._reason = reason; | 
|             this._isFail = true; | 
|         } | 
|   | 
|         /// <summary> | 
|         /// 对当前消息进行确认 | 
|         /// </summary> | 
|         public void Confirm() | 
|         { | 
|             this.confirm(this.Message); | 
|             this._isConfirmed = true; | 
|         } | 
|     } | 
| } |