C# 如何在C中访问Eventhandler方法内的类成员变量#
我正在使用香港RFID阅读器设备编写RFID阅读器应用程序 供应商提供了用于与其设备通信(套接字通信)的Dll,并通过Eventhandler将RFID标签信息发送回应用程序 然后,我需要将相同的RFIDTags信息存储到数据库中,以便进行报告 但是这里的阻塞点是我不知道如何访问EventHandler中的类成员变量C# 如何在C中访问Eventhandler方法内的类成员变量#,c#,design-patterns,rfid,eventhandler,C#,Design Patterns,Rfid,Eventhandler,我正在使用香港RFID阅读器设备编写RFID阅读器应用程序 供应商提供了用于与其设备通信(套接字通信)的Dll,并通过Eventhandler将RFID标签信息发送回应用程序 然后,我需要将相同的RFIDTags信息存储到数据库中,以便进行报告 但是这里的阻塞点是我不知道如何访问EventHandler中的类成员变量 Class HKRFID { private HKRFID.Active.HKRAREM[] mHKRFIDClass;
Class HKRFID
{
private HKRFID.Active.HKRAREM[] mHKRFIDClass;
private Init()
{
mHKRFIDClass = new HKRFID.Active.HKRAREM[5]; //total rfid reader count is 5.
mHKRFIDClass[i] = new HKRFID.Active.HKRAREM(_sProcDetails[i].IpAddress, HKRFID.Active.HKRAREM.ConnectionType.TCP);
mHKRFIDClass[i].GetLibVersion();
mHKRFIDClass[i].Connect();
mHKRFIDClass[i].StartTagInventory();
// Register receive tags event, reader_BulkReadReturn
mHKRFIDClass[i].TagReturn += new EventHandler<HKRFID.Active.HKRAREM.TagReturnEventArgs>(reader_BulkReadReturn);
}
void reader_BulkReadReturn(object sender,HKRFID.Active.HKRAREM.TagReturnEventArgs e){
string tag_id = HKRFID.Utility.HexTools.ByteArrayToHexString(e.return_tag.tag_id);
string tagID = tag_id.Replace("-", "");
string sTagID = tagID.Trim().Substring(0, tagID.Length - 2);
//Here I need to know which RFID reader device reads this tag information.
e.G) IP address of this RFID reader device.
//FYI, I have all reader information in the mHKRFIDClass[] object.
}
}
Class-HKRFID
{
private hkrid.Active.HKRAREM[]mHKRFIDClass;
私有Init()
{
mHKRFIDClass=new HKRFID.Active.HKRAREM[5];//rfid读卡器总数为5。
mHKRFIDClass[i]=新的hkrid.Active.HKRAREM(_-sProcDetails[i].IpAddress,hkrid.Active.HKRAREM.ConnectionType.TCP);
mHKRFIDClass[i].GetLibVersion();
mHKRFIDClass[i].Connect();
mHKRFIDClass[i].StartTagInventory();
//注册接收标签事件,读卡器\u BulkReadReturn
mHKRFIDClass[i].TagReturn+=新事件处理程序(reader\u BulkReadReturn);
}
无效读取器_BulkReadReturn(对象发送方,HKRFID.Active.HKRAREM.TagReturnEventArgs e){
string tag_id=hkrid.Utility.HexTools.ByteArrayTohextString(如return_tag.tag_id);
字符串tagID=tag_id.Replace(“-”,”);
字符串sTagID=tagID.Trim().Substring(0,tagID.Length-2);
//这里我需要知道哪个RFID阅读器设备读取这个标签信息。
e、 G)该RFID阅读器设备的IP地址。
//仅供参考,我在mHKRFIDClass[]对象中有所有读卡器信息。
}
}
由于Eventhandler方法来自供应商Dll,因此我无法修改它
因此,请告诉我如何将收到的RFID标签信息与相应的读卡器匹配,或者建议我使用比上述代码更好的代码设计模式
提前谢谢。您是否检查了
发送者
参数?通常情况下,这应该包含有关引发事件的人的信息。谢谢Rene,我会检查。您是否检查了sender
参数?通常情况下,这应该包含关于谁发起了活动的信息。谢谢Rene,我会检查。