private void NfcHandler_CardHandlingDone(string obj) { if (acrReader != null) { try { // This cannot be done in the middle of handling a card, hence this construct. if (signalFailure) { nfcHandler.SignalFailure(acrReader); } else if (signalSuccess) { nfcHandler.SignalSuccess(acrReader); } } catch (PCSC.Exceptions.PCSCException e) { Console.WriteLine("Failed signaling: " + e.Message); } } signalSuccess = signalFailure = false; }