public void Dispose() { this.device.sIO.GetReader().EndTransaction(disMethod); if (device.doProfile) { timer.Stop(); double t = getTime(timer.getElapsed()); System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(new System.Diagnostics.StackFrame(1)); string methodName = st.GetFrame(0).GetMethod().Name; profileLogger.write("--> Hardware smartcard method '{0}' was running for '{1}' {2}", methodName, Math.Round(t), device.pInfo.timeAs.ToString()); timer.Dispose(); } }