/// <summary> /// 使用消息码、发送界面消息的控件与回调方法初始化 UIMessage 的新实例。 /// </summary> /// <param name="messageCode">消息码。</param> /// <param name="sender">发送界面消息的控件。</param> /// <param name="callbackMethod">回调方法。</param> public UIMessage(int messageCode, Control sender, UIMessageProcessedHandler callbackMethod) : this(messageCode) { if (sender is null || callbackMethod is null) { throw new ArgumentNullException(); } // _NeedReply = true; _Sender = sender; _CallbackMethod = callbackMethod; }
/// <summary> /// 使用消息码初始化 UIMessage 的新实例。 /// </summary> /// <param name="messageCode">消息码。</param> public UIMessage(int messageCode) { _UidLock.EnterWriteLock(); try { _Uid = unchecked (_CurrentMaxUid + 1); if (_Uid > _MaxUid || _Uid < _MinUid) { _Uid = _MinUid; } _CurrentMaxUid = _Uid; } finally { _UidLock.ExitWriteLock(); } // _MessageCode = messageCode; _AllowAsync = false; _AllowDiscard = false; _NeedReply = false; _ReplyWhenDiscarded = false; _Sender = null; _CallbackMethod = null; // _CreateTime = DateTime.Now; _RequestTime = DateTime.MaxValue; _ProcessStartTime = DateTime.MaxValue; _ProcessFinishTime = DateTime.MaxValue; _ReplyTime = DateTime.MaxValue; _State = UIMessageState.Created; _Exception = null; // _RequestData = null; _ReplyData = null; }
/// <summary> /// 使用消息码、发送界面消息的控件、回调方法、表示是否允许异步处理的布尔值、表示是否允许丢弃的布尔值与表示被丢弃时是否需要答复的布尔值初始化 UIMessage 的新实例。 /// </summary> /// <param name="messageCode">消息码。</param> /// <param name="sender">发送界面消息的控件。</param> /// <param name="callbackMethod">回调方法。</param> /// <param name="allowAsync">是否允许异步处理。</param> /// <param name="allowDiscard">是否允许丢弃。</param> /// <param name="replyWhenDiscarded">被丢弃时是否需要答复。</param> public UIMessage(int messageCode, Control sender, UIMessageProcessedHandler callbackMethod, bool allowAsync, bool allowDiscard, bool replyWhenDiscarded) : this(messageCode, sender, callbackMethod) { _AllowAsync = allowAsync; _AllowDiscard = allowDiscard; _ReplyWhenDiscarded = replyWhenDiscarded; }
/// <summary> /// 使用消息码、发送界面消息的控件、回调方法与表示是否允许异步处理的布尔值初始化 UIMessage 的新实例。 /// </summary> /// <param name="messageCode">消息码。</param> /// <param name="sender">发送界面消息的控件。</param> /// <param name="callbackMethod">回调方法。</param> /// <param name="allowAsync">是否允许异步处理。</param> public UIMessage(int messageCode, Control sender, UIMessageProcessedHandler callbackMethod, bool allowAsync) : this(messageCode, sender, callbackMethod) { _AllowAsync = allowAsync; }