不同厂家R FID 读写器类做成统一编程接口的实现 设计模式:采用工厂模式 一:准备工作: 1:准备好不同厂家的 RFID 读写器及配置天线和馈线,RFID 标签若干 2:收集不同厂家读写器及其编程接口 API 二:编写一个 R FID 读写器操作基类 下面是核心代码: ///
/// 不同厂家RFID 读写器操作基类 /// public class BaseSpeedReader { protected Form mFrmScan = null; protected DataTable mDtEPC = null; public delegate void MethodInvoke(); public delegate void NoticeEPC_EventHandler(object sender, Common.Args.NoticeEPCEventArgs e); [Category("DMZ"), Description("通知界面层处理标签"), DefaultValue((true))] public event NoticeEPC_EventHandler NoticeEPCHandler; //EventHandler [Category("DMZ"), Description("通知界面层已连接读写器"), DefaultValue((true))] public event EventHandler NoticeConnectedHandler; ///
/// 通知界面层告知标签的读取信息 /// public void NoticeEPC() { if (NoticeEPCHandler != null) { NoticeEPCEventArgs arg = new NoticeEPCEventArgs(); arg.DtEPC = this.mDtEPC; NoticeEPCHandler(null, arg); } } ///
/// 通知界面层连接读写器成功或失败 /// public void NoticeConnected() { if (NoticeConnectedHandler != null) { EventArgs arg = new EventArgs(); NoticeConnectedHandler(null, arg); } } } 三:编写一个 A 厂家读写器操作类 internal class SpeedReaderForHSJC : BaseSpeedReader { ///
/// 连接读取器并开始读取标签 /// ///
///
连接成功返回true public override bool Run(string readerName) { try { Reader.Logging += new EventHandler
(LoggingHandler); Reader.Connected += new EventHandler(ConnectedHandler); Reader.Started += new EventHandler(StartedHandler); Reader.TagsReported += new EventHandler(TagsReportedHandler); Reader.Connect(reade...