C# 如何在C中访问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;

我正在使用香港RFID阅读器设备编写RFID阅读器应用程序

供应商提供了用于与其设备通信(套接字通信)的Dll,并通过Eventhandler将RFID标签信息发送回应用程序

然后,我需要将相同的RFIDTags信息存储到数据库中,以便进行报告

但是这里的阻塞点是我不知道如何访问EventHandler中的类成员变量

 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,我会检查。