C# 如何检查对象是否已具有指定事件集
我有一个名为C# 如何检查对象是否已具有指定事件集,c#,C#,我有一个名为MifareReader的类。我将其实例化为Global,因此我的表单上有: MifareReader mf = new MifareReader() private void Main_Load(object sender, EventArgs e) { mf.MyEvent += new EventName(My_Method); Connect(); } private void My_Method() { //Code Here } private
MifareReader
的类。我将其实例化为Global
,因此我的表单上有:
MifareReader mf = new MifareReader()
private void Main_Load(object sender, EventArgs e)
{
mf.MyEvent += new EventName(My_Method);
Connect();
}
private void My_Method()
{
//Code Here
}
private void Connect()
{
//Some Code Here
mf.MyEvent += new EventName(My_Method); //The same code of the Main_Load
}
现在让我解释一下。在我的Main\u加载中
我已经设置了事件MyEvent
,并将其方法设置为my\u方法
,对吗?另外,我调用了另一个方法Connect()
,这个方法重复了我在Main\u加载中所做的操作
mf.MyEvent += new EventName(My_Method);
对吧?
因此,我不知道为什么,但如果我不重复此代码,应用程序不会在不关闭/重新打开应用程序的情况下启动MyEvent
好的,它的工作方式很完美,但是当我关闭/重新打开我的应用程序时,它会触发MyEvent
两次。那么,有办法解决这个问题吗?
也许可以检查mf.MyEvent
是否已经为其设置了方法?检查是否可以验证是否在事件中设置了方法,但首先让我问一下:如果在Main\u Load
中删除第一个集,会发生什么?@JonnyPiazzi My methodConnect()
负责设置my rfdi设备的配置并将其保存在my app.config上。我认为,当已经有一个配置集时,有必要在我的主加载中加载该代码。但它的工作完美删除,谢谢你乔尼+1.