private static ISmartCardReader Connect(string readerName) { var reader = new SmartCardReader(readerName); var readerState = ContextHandler.Instance.GetReaderState(reader.PcscReaderName, ReaderStates.Unaware); if (readerState.AtrLength > 0) { reader.Connect(ReaderSharingMode.Shared, Protocol.Any); } else { reader.ConnectDirect(); } return(reader); }