/// <summary> /// 读卡请求出栈 /// </summary> public void PopCardReadRequest(CardReadEventHandler cardReadCallBack) { if (_CardReadCallBackStack.Count > 0 && _CardReadCallBackStack.Peek() != null && _CardReadCallBackStack.Peek() == cardReadCallBack) { _CardReadCallBackStack.Pop(); if (_CardReadCallBackStack.Count == 0) { StopReadCard(); } } }
/// <summary> /// 读卡请求入栈,读卡器读到卡号后调用读卡请求堆栈中的第一个回调函数(目前事件产生时不在UI线程,使用窗体编程时要注意用Invoke方法) /// </summary> /// <param name="cardReadCallBack"></param> public void PushCardReadRequest(CardReadEventHandler cardReadCallBack) { if (_CardReadCallBackStack.Count > 0 && _CardReadCallBackStack.Peek() == cardReadCallBack) { //do nothing } else { _CardReadCallBackStack.Push(cardReadCallBack); BeginReadCard(); } }