/// <summary> /// Called when the card is inserted. /// /// WARNING: This method is not safe if multiple event handler are plugged to the /// event. The same reference would be used by different threads and that could be /// unsafe. /// /// A solution is to limit the number of event handle to one by overloading the /// event += and -= /// </summary> /// <param name="reader"></param> private void RaiseCardInserted(string reader) { if (CardInserted != null) { card = new CardNative(); card.Connect(reader, SHARE.Shared, PROTOCOL.T0orT1); CardInserted(this, new CardInsertedArgs(reader, card)); } }