using System; using System.Collections.Generic; namespace LB_VisionProcesses.BarcodeReaders { /// /// 读码器抽象基类 /// public abstract class BarcodeReaderBase : IBarcodeReader { public virtual event EventHandler BarcodeRead; public virtual string SN { get; protected set; } = string.Empty; public virtual bool IsConnected { get; protected set; } = false; public virtual bool IsGrabbing { get; protected set; } = false; public abstract BarcodeReaderBrand Brand { get; } protected BarcodeReaderBase() { } /// /// 触发读码成功事件 /// protected virtual void OnBarcodeRead(BarcodeEventArgs e) { BarcodeRead?.Invoke(this, e); } public abstract List GetDeviceList(); public abstract bool Open(string sn); public abstract bool Close(); public abstract bool StartGrabbing(); public abstract bool StopGrabbing(); public abstract bool SoftTrigger(); public abstract bool SetTriggerMode(bool isSoftware); public virtual void Dispose() { try { if (IsConnected) { Close(); } } catch { } } } }